*/
#ifdef CONFIG_INET
IRDA_DEBUG(4, "IrLAN: Sending gratuitous ARP\n");
- in_dev = in_dev_get(dev);
+ rcu_read_lock();
+ in_dev = __in_dev_get(dev);
if (in_dev == NULL)
- return;
- read_lock(&in_dev->lock);
+ goto out;
if (in_dev->ifa_list)
arp_send(ARPOP_REQUEST, ETH_P_ARP,
dev,
in_dev->ifa_list->ifa_address,
NULL, dev->dev_addr, NULL);
- read_unlock(&in_dev->lock);
- in_dev_put(in_dev);
+out:
+ rcu_read_unlock();
#endif /* CONFIG_INET */
}