summaryrefslogtreecommitdiff
path: root/meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@openedhand.com>2008-10-01 15:15:41 +0000
committerSamuel Ortiz <sameo@openedhand.com>2008-10-01 15:15:41 +0000
commit9b52d247545fb19e6ef9813d376007e518b50e48 (patch)
tree5f838f5cc45bce1a478eb617412f14a9a6a86429 /meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch
parentf36ea090d1d591ca37208f808ba40cf95d68a45d (diff)
downloadopenembedded-core-9b52d247545fb19e6ef9813d376007e518b50e48.tar.gz
openembedded-core-9b52d247545fb19e6ef9813d376007e518b50e48.tar.bz2
openembedded-core-9b52d247545fb19e6ef9813d376007e518b50e48.zip
rt2860: Fix iwpriv oops
Triggered by powertop, iwpriv -a oops this driver when the interface is down. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5370 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch')
-rw-r--r--meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch b/meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch
new file mode 100644
index 0000000000..5d1ff82e0e
--- /dev/null
+++ b/meta/packages/rt2860/rt2860-1.7.0.0/05-iwpriv.patch
@@ -0,0 +1,62 @@
+---
+ src/cmm_info.c | 34 ++++++++++++++++++++--------------
+ 1 file changed, 20 insertions(+), 14 deletions(-)
+
+Index: rt2860-1.7.0.0/src/cmm_info.c
+===================================================================
+--- rt2860-1.7.0.0.orig/src/cmm_info.c 2008-10-01 16:16:04.000000000 +0200
++++ rt2860-1.7.0.0/src/cmm_info.c 2008-10-01 17:03:10.000000000 +0200
+@@ -808,33 +808,39 @@ INT Show_DescInfo_Proc(
+ #ifdef RT2860
+ INT i, QueIdx=0;
+ PRT28XX_RXD_STRUC pRxD;
+- PTXD_STRUC pTxD;
++ PTXD_STRUC pTxD;
+ PRTMP_TX_RING pTxRing = &pAd->TxRing[QueIdx];
+ PRTMP_MGMT_RING pMgmtRing = &pAd->MgmtRing;
+- PRTMP_RX_RING pRxRing = &pAd->RxRing;
+-
++ PRTMP_RX_RING pRxRing = &pAd->RxRing;
++
+ for(i=0;i<TX_RING_SIZE;i++)
+ {
+ pTxD = (PTXD_STRUC) pTxRing->Cell[i].AllocVa;
+- printk("Desc #%d\n",i);
+- hex_dump("Tx Descriptor", (char *)pTxD, 16);
+- printk("pTxD->DMADONE = %x\n", pTxD->DMADONE);
++ if (pTxD) {
++ printk("Desc #%d\n",i);
++ hex_dump("Tx Descriptor", (char *)pTxD, 16);
++ printk("pTxD->DMADONE = %x\n", pTxD->DMADONE);
++ }
+ }
+- printk("---------------------------------------------------\n");
++
+ for(i=0;i<MGMT_RING_SIZE;i++)
+ {
+ pTxD = (PTXD_STRUC) pMgmtRing->Cell[i].AllocVa;
+- printk("Desc #%d\n",i);
+- hex_dump("Mgmt Descriptor", (char *)pTxD, 16);
+- printk("pMgmt->DMADONE = %x\n", pTxD->DMADONE);
++ if (pTxD) {
++ printk("Desc #%d\n",i);
++ hex_dump("Mgmt Descriptor", (char *)pTxD, 16);
++ printk("pMgmt->DMADONE = %x\n", pTxD->DMADONE);
++ }
+ }
+- printk("---------------------------------------------------\n");
++
+ for(i=0;i<RX_RING_SIZE;i++)
+ {
+ pRxD = (PRT28XX_RXD_STRUC) pRxRing->Cell[i].AllocVa;
+- printk("Desc #%d\n",i);
+- hex_dump("Rx Descriptor", (char *)pRxD, 16);
+- printk("pRxD->DDONE = %x\n", pRxD->DDONE);
++ if (pRxD) {
++ printk("Desc #%d\n",i);
++ hex_dump("Rx Descriptor", (char *)pRxD, 16);
++ printk("pRxD->DDONE = %x\n", pRxD->DDONE);
++ }
+ }
+ #endif // RT2860 //
+