John Halton wrote in <http://bugs.debian.org/575726>:
> Whenever wpa_supplicant is deactivated (whether by killing the process or 
> during a normal shutdown) I am getting a kerneloops that prevents the 
> computer from completing shutdown. Here is the relevant syslog output:

The backtrace points to an incorrect call from RTMPFreeTxRxRingMemory()
into linux_pci_unmap_single().  This appears to have been fixed in Linux
2.6.33 by this change:

commit ca97b8388838ee9ea4b4bad04948f8f7f8a607a3
Author: Bartlomiej Zolnierkiewicz <bzoln...@gmail.com>
Date:   Tue Sep 22 20:44:07 2009 +0200

    Staging: rt28x0: updates from vendor's V2.1.0.0 drivers

For stable-2.6.32, just fix this one function call.

Signed-off-by: Ben Hutchings <b...@decadent.org.uk>
---
 drivers/staging/rt2860/common/2860_rtmp_init.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/staging/rt2860/common/2860_rtmp_init.c 
b/drivers/staging/rt2860/common/2860_rtmp_init.c
index 0bc0fb9..98b0f8e 100644
--- a/drivers/staging/rt2860/common/2860_rtmp_init.c
+++ b/drivers/staging/rt2860/common/2860_rtmp_init.c
@@ -716,7 +716,7 @@ VOID RTMPFreeTxRxRingMemory(
        {
                if ((pAd->RxRing.Cell[index].DmaBuf.AllocVa) && 
(pAd->RxRing.Cell[index].pNdisPacket))
                {
-                       PCI_UNMAP_SINGLE(pObj->pci_dev, 
pAd->RxRing.Cell[index].DmaBuf.AllocPa, 
pAd->RxRing.Cell[index].DmaBuf.AllocSize, PCI_DMA_FROMDEVICE);
+                       PCI_UNMAP_SINGLE(pAd, 
pAd->RxRing.Cell[index].DmaBuf.AllocPa, 
pAd->RxRing.Cell[index].DmaBuf.AllocSize, PCI_DMA_FROMDEVICE);
                        RELEASE_NDIS_PACKET(pAd, 
pAd->RxRing.Cell[index].pNdisPacket, NDIS_STATUS_SUCCESS);
                }
        }
-- 
1.7.0.3


-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to