diff options
Diffstat (limited to 'drivers/staging/wlan-ng/hfa384x_usb.c')
-rw-r--r-- | drivers/staging/wlan-ng/hfa384x_usb.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c b/drivers/staging/wlan-ng/hfa384x_usb.c index fa1bf8b069fd..f2a0e16b0318 100644 --- a/drivers/staging/wlan-ng/hfa384x_usb.c +++ b/drivers/staging/wlan-ng/hfa384x_usb.c @@ -191,9 +191,9 @@ static void hfa384x_usbctlx_resptimerfn(struct timer_list *t); static void hfa384x_usb_throttlefn(struct timer_list *t); -static void hfa384x_usbctlx_completion_task(unsigned long data); +static void hfa384x_usbctlx_completion_task(struct tasklet_struct *t); -static void hfa384x_usbctlx_reaper_task(unsigned long data); +static void hfa384x_usbctlx_reaper_task(struct tasklet_struct *t); static int hfa384x_usbctlx_submit(struct hfa384x *hw, struct hfa384x_usbctlx *ctlx); @@ -524,13 +524,8 @@ static void hfa384x_usb_defer(struct work_struct *data) */ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb) { - memset(hw, 0, sizeof(*hw)); hw->usb = usb; - /* set up the endpoints */ - hw->endp_in = usb_rcvbulkpipe(usb, 1); - hw->endp_out = usb_sndbulkpipe(usb, 2); - /* Set up the waitq */ init_waitqueue_head(&hw->cmdq); @@ -544,10 +539,8 @@ void hfa384x_create(struct hfa384x *hw, struct usb_device *usb) /* Initialize the authentication queue */ skb_queue_head_init(&hw->authq); - tasklet_init(&hw->reaper_bh, - hfa384x_usbctlx_reaper_task, (unsigned long)hw); - tasklet_init(&hw->completion_bh, - hfa384x_usbctlx_completion_task, (unsigned long)hw); + tasklet_setup(&hw->reaper_bh, hfa384x_usbctlx_reaper_task); + tasklet_setup(&hw->completion_bh, hfa384x_usbctlx_completion_task); INIT_WORK(&hw->link_bh, prism2sta_processing_defer); INIT_WORK(&hw->usb_work, hfa384x_usb_defer); @@ -2604,9 +2597,9 @@ void hfa384x_tx_timeout(struct wlandevice *wlandev) * Interrupt *---------------------------------------------------------------- */ -static void hfa384x_usbctlx_reaper_task(unsigned long data) +static void hfa384x_usbctlx_reaper_task(struct tasklet_struct *t) { - struct hfa384x *hw = (struct hfa384x *)data; + struct hfa384x *hw = from_tasklet(hw, t, reaper_bh); struct hfa384x_usbctlx *ctlx, *temp; unsigned long flags; @@ -2638,9 +2631,9 @@ static void hfa384x_usbctlx_reaper_task(unsigned long data) * Interrupt *---------------------------------------------------------------- */ -static void hfa384x_usbctlx_completion_task(unsigned long data) +static void hfa384x_usbctlx_completion_task(struct tasklet_struct *t) { - struct hfa384x *hw = (struct hfa384x *)data; + struct hfa384x *hw = from_tasklet(hw, t, completion_bh); struct hfa384x_usbctlx *ctlx, *temp; unsigned long flags; |