aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/rt2870/common/rtusb_io.c21
-rw-r--r--drivers/staging/rt2870/rt_main_dev.c23
-rw-r--r--drivers/staging/rt2870/rtmp.h5
3 files changed, 2 insertions, 47 deletions
diff --git a/drivers/staging/rt2870/common/rtusb_io.c b/drivers/staging/rt2870/common/rtusb_io.c
index 7587e4d388f..3c4d41891b6 100644
--- a/drivers/staging/rt2870/common/rtusb_io.c
+++ b/drivers/staging/rt2870/common/rtusb_io.c
@@ -1194,21 +1194,6 @@ NTSTATUS RTUSB_VendorRequest(
1194 void *tmpBuf = TransferBuffer; 1194 void *tmpBuf = TransferBuffer;
1195 1195
1196 // Acquire Control token 1196 // Acquire Control token
1197#ifdef INF_AMAZON_SE
1198 //Semaphore fix INF_AMAZON_SE hang
1199 //pAd->UsbVendorReqBuf is the swap for DEVICE_VENDOR_REQUEST_IN to fix dma bug.
1200 ret = down_interruptible(&(pAd->UsbVendorReq_semaphore));
1201 if (pAd->UsbVendorReqBuf)
1202 {
1203 ASSERT(TransferBufferLength <MAX_PARAM_BUFFER_SIZE);
1204
1205 tmpBuf = (void *)pAd->UsbVendorReqBuf;
1206 NdisZeroMemory(pAd->UsbVendorReqBuf, TransferBufferLength);
1207
1208 if (RequestType == DEVICE_VENDOR_REQUEST_OUT)
1209 NdisMoveMemory(tmpBuf, TransferBuffer, TransferBufferLength);
1210 }
1211#endif // INF_AMAZON_SE //
1212 do { 1197 do {
1213 if( RequestType == DEVICE_VENDOR_REQUEST_OUT) 1198 if( RequestType == DEVICE_VENDOR_REQUEST_OUT)
1214 ret=usb_control_msg(pObj->pUsb_Dev, usb_sndctrlpipe( pObj->pUsb_Dev, 0 ), Request, RequestType, Value,Index, tmpBuf, TransferBufferLength, CONTROL_TIMEOUT_JIFFIES); 1199 ret=usb_control_msg(pObj->pUsb_Dev, usb_sndctrlpipe( pObj->pUsb_Dev, 0 ), Request, RequestType, Value,Index, tmpBuf, TransferBufferLength, CONTROL_TIMEOUT_JIFFIES);
@@ -1227,12 +1212,6 @@ NTSTATUS RTUSB_VendorRequest(
1227 } 1212 }
1228 } while((ret < 0) && (retryCount < MAX_RETRY_COUNT)); 1213 } while((ret < 0) && (retryCount < MAX_RETRY_COUNT));
1229 1214
1230#ifdef INF_AMAZON_SE
1231 if ((pAd->UsbVendorReqBuf) && (RequestType == DEVICE_VENDOR_REQUEST_IN))
1232 NdisMoveMemory(TransferBuffer, tmpBuf, TransferBufferLength);
1233 up(&(pAd->UsbVendorReq_semaphore));
1234#endif // INF_AMAZON_SE //
1235
1236 if (ret < 0) { 1215 if (ret < 0) {
1237// DBGPRINT(RT_DEBUG_ERROR, ("USBVendorRequest failed ret=%d \n",ret)); 1216// DBGPRINT(RT_DEBUG_ERROR, ("USBVendorRequest failed ret=%d \n",ret));
1238 DBGPRINT(RT_DEBUG_ERROR, ("RTUSB_VendorRequest failed(%d),TxFlags=0x%x, ReqType=%s, Req=0x%x, Index=0x%x\n", 1217 DBGPRINT(RT_DEBUG_ERROR, ("RTUSB_VendorRequest failed(%d),TxFlags=0x%x, ReqType=%s, Req=0x%x, Index=0x%x\n",
diff --git a/drivers/staging/rt2870/rt_main_dev.c b/drivers/staging/rt2870/rt_main_dev.c
index 87d7c78acb4..1c8ea2a91fa 100644
--- a/drivers/staging/rt2870/rt_main_dev.c
+++ b/drivers/staging/rt2870/rt_main_dev.c
@@ -349,13 +349,6 @@ int rt28xx_close(IN PNET_DEV dev)
349 ba_reordering_resource_release(pAd); 349 ba_reordering_resource_release(pAd);
350#endif // DOT11_N_SUPPORT // 350#endif // DOT11_N_SUPPORT //
351 351
352#ifdef RT2870
353#ifdef INF_AMAZON_SE
354 if (pAd->UsbVendorReqBuf)
355 os_free_mem(pAd, pAd->UsbVendorReqBuf);
356#endif // INF_AMAZON_SE //
357#endif // RT2870 //
358
359 RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_START_UP); 352 RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_START_UP);
360 353
361 return 0; // close ok 354 return 0; // close ok
@@ -369,18 +362,6 @@ static int rt28xx_init(IN struct net_device *net_dev)
369 NDIS_STATUS Status; 362 NDIS_STATUS Status;
370 UINT32 MacCsr0 = 0; 363 UINT32 MacCsr0 = 0;
371 364
372#ifdef RT2870
373#ifdef INF_AMAZON_SE
374 init_MUTEX(&(pAd->UsbVendorReq_semaphore));
375 os_alloc_mem(pAd, (PUCHAR)&pAd->UsbVendorReqBuf, MAX_PARAM_BUFFER_SIZE - 1);
376 if (pAd->UsbVendorReqBuf == NULL)
377 {
378 DBGPRINT(RT_DEBUG_ERROR, ("Allocate vendor request temp buffer failed!\n"));
379 goto err0;
380 }
381#endif // INF_AMAZON_SE //
382#endif // RT2870 //
383
384#ifdef DOT11_N_SUPPORT 365#ifdef DOT11_N_SUPPORT
385 // Allocate BA Reordering memory 366 // Allocate BA Reordering memory
386 ba_reordering_resource_init(pAd, MAX_REORDERING_MPDU_NUM); 367 ba_reordering_resource_init(pAd, MAX_REORDERING_MPDU_NUM);
@@ -632,9 +613,7 @@ err1:
632 613
633 // shall not set ml_priv to NULL here because the ml_priv didn't been free yet. 614 // shall not set ml_priv to NULL here because the ml_priv didn't been free yet.
634 //net_dev->ml_priv = 0; 615 //net_dev->ml_priv = 0;
635#ifdef INF_AMAZON_SE 616
636err0:
637#endif // INF_AMAZON_SE //
638 printk("!!! %s Initialized fail !!!\n", RT28xx_CHIP_NAME); 617 printk("!!! %s Initialized fail !!!\n", RT28xx_CHIP_NAME);
639 return FALSE; 618 return FALSE;
640} /* End of rt28xx_init */ 619} /* End of rt28xx_init */
diff --git a/drivers/staging/rt2870/rtmp.h b/drivers/staging/rt2870/rtmp.h
index 5e22a3aa7ea..f27c610457e 100644
--- a/drivers/staging/rt2870/rtmp.h
+++ b/drivers/staging/rt2870/rtmp.h
@@ -2497,10 +2497,7 @@ typedef struct _RTMP_ADAPTER
2497 struct semaphore mlme_semaphore; /* to sleep thread on */ 2497 struct semaphore mlme_semaphore; /* to sleep thread on */
2498 struct semaphore RTUSBCmd_semaphore; /* to sleep thread on */ 2498 struct semaphore RTUSBCmd_semaphore; /* to sleep thread on */
2499 struct semaphore RTUSBTimer_semaphore; 2499 struct semaphore RTUSBTimer_semaphore;
2500#ifdef INF_AMAZON_SE 2500
2501 struct semaphore UsbVendorReq_semaphore;
2502 PVOID UsbVendorReqBuf;
2503#endif // INF_AMAZON_SE //
2504 struct completion TimerQComplete; 2501 struct completion TimerQComplete;
2505 struct completion mlmeComplete; 2502 struct completion mlmeComplete;
2506 struct completion CmdQComplete; 2503 struct completion CmdQComplete;