diff --git a/drivers/staging/vt6656/device.h b/drivers/staging/vt6656/device.h index ec20b14948df9aafaa767c1f5b4d868a5f055768..e5f0be3b4ae48db47d666e89b7fbd2e816e2fb60 100644 --- a/drivers/staging/vt6656/device.h +++ b/drivers/staging/vt6656/device.h @@ -421,7 +421,6 @@ struct vnt_private { /* Variables to track resources for the Interrupt In Pipe */ INT_BUFFER intBuf; - int fKillEventPollingThread; int bEventAvailable; /* default config from file by user setting */ diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c index ec135b466ddddaf9a4a8bea21e00624d5430ac2a..34c45280a9c17bcb6cec5808f8661689663fca2b 100644 --- a/drivers/staging/vt6656/int.c +++ b/drivers/staging/vt6656/int.c @@ -70,8 +70,9 @@ void INTvWorkItem(struct vnt_private *pDevice) DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Interrupt Polling Thread\n"); spin_lock_irq(&pDevice->lock); - if (pDevice->fKillEventPollingThread != true) - ntStatus = PIPEnsInterruptRead(pDevice); + + ntStatus = PIPEnsInterruptRead(pDevice); + spin_unlock_irq(&pDevice->lock); } diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index 4f913d322083bc859bdccd992a2e10c888ca34aa..bea1ad93336ab76f65d23eac8bc2eba476930295 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c @@ -1000,7 +1000,6 @@ static int device_open(struct net_device *dev) pDevice->eEncryptionStatus = Ndis802_11EncryptionDisabled; pDevice->bIsRxWorkItemQueued = true; - pDevice->fKillEventPollingThread = false; pDevice->bEventAvailable = false; pDevice->bWPADEVUp = false; @@ -1084,7 +1083,6 @@ static int device_close(struct net_device *dev) MP_SET_FLAG(pDevice, fMP_DISCONNECTED); MP_CLEAR_FLAG(pDevice, fMP_POST_WRITES); MP_CLEAR_FLAG(pDevice, fMP_POST_READS); - pDevice->fKillEventPollingThread = true; cancel_delayed_work_sync(&pDevice->run_command_work); cancel_delayed_work_sync(&pDevice->second_callback_work); diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c index 1ab1bbcc0fb0869c6f242089735fb6216c57037d..37219374329cb8b0ea8d89c50a9ea9955aa7abb3 100644 --- a/drivers/staging/vt6656/usbpipe.c +++ b/drivers/staging/vt6656/usbpipe.c @@ -393,7 +393,6 @@ static void s_nsInterruptUsbIoCompleteRead(struct urb *urb) // if (ntStatus == STATUS_NOT_CONNECTED ) // { - pDevice->fKillEventPollingThread = true; // } DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"IntUSBIoCompleteControl STATUS = %d\n", ntStatus ); } else { @@ -403,7 +402,6 @@ static void s_nsInterruptUsbIoCompleteRead(struct urb *urb) INTnsProcessData(pDevice); } - if (pDevice->fKillEventPollingThread != true) { ntStatus = usb_submit_urb(pDevice->pInterruptURB, GFP_ATOMIC); if (ntStatus) { DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO @@ -411,7 +409,7 @@ static void s_nsInterruptUsbIoCompleteRead(struct urb *urb) } else { pDevice->intBuf.bInUse = true; } - } + // // We return STATUS_MORE_PROCESSING_REQUIRED so that the completion // routine (IofCompleteRequest) will stop working on the irp.