diff options
author | Ali Bahar <ali@internetdog.org> | 2011-09-03 19:14:21 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-09-07 00:00:35 (GMT) |
commit | ee5b1aadfd5cda257337a9b9777114a10c18c31e (patch) | |
tree | c0daca525c44f56ce59ce8f7d9fdf5f0136c3c9a /drivers/staging/rtl8712/usb_ops_linux.c | |
parent | c6dc001f2add6d6609f94246bbec30d81494f5f7 (diff) | |
download | linux-fsl-qoriq-ee5b1aadfd5cda257337a9b9777114a10c18c31e.tar.xz |
staging: r8712u: Merging Realtek's latest (v2.6.6). Various fixes.
In r8712_generate_ie(), HT check is no longer done.
Removed r8712_add_ht_addt_info().
Changes to defragmentation handling, and queue selection.
Get TSSI command.
Added an Ad-Hoc check to is_desired_network()
r8712_ind_disconnect() now checks for Linked state.
r8712_xmit_bh() now schedules an xmit tasklet.
Signed-off-by: Ali Bahar <ali@internetDog.org>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/rtl8712/usb_ops_linux.c')
-rw-r--r-- | drivers/staging/rtl8712/usb_ops_linux.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/staging/rtl8712/usb_ops_linux.c b/drivers/staging/rtl8712/usb_ops_linux.c index b796c6b..24e1ec5 100644 --- a/drivers/staging/rtl8712/usb_ops_linux.c +++ b/drivers/staging/rtl8712/usb_ops_linux.c @@ -334,17 +334,16 @@ void r8712_xmit_bh(void *priv) struct _adapter *padapter = (struct _adapter *)priv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - while (1) { - if ((padapter->bDriverStopped == true) || - (padapter->bSurpriseRemoved == true)) { - printk(KERN_ERR "r8712u: xmit_bh => bDriverStopped" - " or bSurpriseRemoved\n"); - break; - } - ret = r8712_xmitframe_complete(padapter, pxmitpriv, NULL); - if (ret == false) - break; + if ((padapter->bDriverStopped == true) || + (padapter->bSurpriseRemoved == true)) { + printk(KERN_ERR "r8712u: xmit_bh => bDriverStopped" + " or bSurpriseRemoved\n"); + return; } + ret = r8712_xmitframe_complete(padapter, pxmitpriv, NULL); + if (ret == false) + return; + tasklet_hi_schedule(&pxmitpriv->xmit_tasklet); } static void usb_write_port_complete(struct urb *purb) |