Search Linux Wireless

Re: kernel BUG at drivers/net/wireless/iwlwifi/iwl3945-base.c:3127!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2009-03-04 at 11:47 -0800, Jason Andryuk wrote:
> On Wed, Mar 4, 2009 at 2:19 PM, reinette chatre
> <reinette.chatre@xxxxxxxxx> wrote:
> > On Tue, 2009-03-03 at 20:32 -0800, Jason Andryuk wrote:
> >> On Sun, Mar 1, 2009 at 10:37 PM, Jason Andryuk <jandryuk@xxxxxxxxx> wrote:
> >> > I tested c2a0aa3cb733452e749727680e380dca6cc10a68 "iwl3945: use
> >> > iwl_rb_status" with the additional patches to initialize rb_stts
> >> > (copied from iwl_rx_queue_alloc) and to convert the BUG_ON to a
> >> > WARN_ON.
> >> >
> >> > The driver runs without segfaulting.  So far the WARN_ON has not been
> >> > triggered, but the driver fails to finish authentication with the AP.
> >> > I receive "wlan0: authentication with AP 00:30:bd:c0:90:24 timed out"
> >>
> >> Ok, I started poking around with manually checking interesting commits instead of git bisect.
> >>
> >> 55b3e21... iwl3945: use iwl-io.h and delete iwl-3945-io.h with BUG->WARN patch works.
> >>
> >> bb64785... iwlwifi: use iwl_cmd instead of iwl3945_cmd
> >> fails to authenticate to the AP.  It generates a Microcode SW Error attached below.
> >>
> >> The previous revision:
> >> a0dedce... iwlwifi: replace IWL_ERROR with IWL_ERR
> >> Authenticates to the AP and works just fine.
> >>
> >> I keep looking over commitdiff bb64785... but I cannot see what is causing problems.  I even tried modifying iwl3945_cmd in various ways from a0dedce... but those attempts kept working.
> >>
> >> During testing, I saw a lot of UNKNOWN 0x1b
> >> [ 8892.625374] ieee80211 phy0: I iwl3945_rx_handle r = 162, i = 160, UNKNOWN, 0x1b
> >> Currently in the logs for commit a0dedce... it shows up as REPLY_3945_RX.
> >>
> >> Any ideas?
> >
> > Thank you very much for this digging.
> >
> > Are you running on 64bit?
> 
> Yes, 64bit.

could you please try this patch on top of latest wireless-testing?

Thanks

Reinette


diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c
index 0a75053..00b25a8 100644
--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -743,6 +743,7 @@ void iwl3945_hw_txq_free_tfd(struct iwl_priv *priv, struct iwl_tx_queue *txq)
 	struct iwl3945_tfd *tfd_tmp = (struct iwl3945_tfd *)txq->tfds;
 	struct iwl3945_tfd *tfd = &tfd_tmp[txq->q.read_ptr];
 	struct pci_dev *dev = priv->pci_dev;
+	int index = txq->q.read_ptr;
 	int i;
 	int counter;
 
@@ -759,6 +760,13 @@ void iwl3945_hw_txq_free_tfd(struct iwl_priv *priv, struct iwl_tx_queue *txq)
 		return;
 	}
 
+	/* Unmap tx_cmd */
+	if (counter)
+		pci_unmap_single(dev,
+				pci_unmap_addr(&txq->cmd[index]->meta, mapping),
+				pci_unmap_len(&txq->cmd[index]->meta, len),
+				PCI_DMA_TODEVICE);
+
 	/* unmap chunks if any */
 
 	for (i = 1; i < counter; i++) {




--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux