diff options
Diffstat (limited to 'drivers/net/usb/usbnet.c')
| -rw-r--r-- | drivers/net/usb/usbnet.c | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index dde05e2fdc3e..9ce6d30576dd 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1573,6 +1573,13 @@ static void usbnet_bh (struct timer_list *t)  	}  } +static void usbnet_bh_tasklet(unsigned long data) +{ +	struct timer_list *t = (struct timer_list *)data; + +	usbnet_bh(t); +} +  /*-------------------------------------------------------------------------   * @@ -1700,7 +1707,7 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)  	skb_queue_head_init (&dev->txq);  	skb_queue_head_init (&dev->done);  	skb_queue_head_init(&dev->rxq_pause); -	dev->bh.func = (void (*)(unsigned long))usbnet_bh; +	dev->bh.func = usbnet_bh_tasklet;  	dev->bh.data = (unsigned long)&dev->delay;  	INIT_WORK (&dev->kevent, usbnet_deferred_kevent);  	init_usb_anchor(&dev->deferred); @@ -2177,7 +2184,7 @@ static int __init usbnet_init(void)  {  	/* Compiler should optimize this out. */  	BUILD_BUG_ON( -		FIELD_SIZEOF(struct sk_buff, cb) < sizeof(struct skb_data)); +		sizeof_field(struct sk_buff, cb) < sizeof(struct skb_data));  	eth_random_addr(node_id);  	return 0;  |