===== net/irda/irlan/irlan_eth.c 1.12 vs edited ===== --- 1.12/net/irda/irlan/irlan_eth.c 2004-08-14 07:40:24 +10:00 +++ edited/net/irda/irlan/irlan_eth.c 2004-08-14 10:50:29 +10:00 @@ -303,10 +303,10 @@ */ #ifdef CONFIG_INET IRDA_DEBUG(4, "IrLAN: Sending gratuitous ARP\n"); - in_dev = in_dev_get(dev); - if (in_dev == NULL) - return; rcu_read_lock(); + in_dev = __in_dev_get(dev); + if (in_dev == NULL) + goto out; if (in_dev->ifa_list) arp_send(ARPOP_REQUEST, ETH_P_ARP, @@ -314,8 +314,8 @@ dev, in_dev->ifa_list->ifa_address, NULL, dev->dev_addr, NULL); +out: rcu_read_unlock(); - in_dev_put(in_dev); #endif /* CONFIG_INET */ }