2006-09-03 09:18:33

by Miles Lane

[permalink] [raw]
Subject: 2.6.18-rc5-mm1 -- bcm43xx: Out of DMA descriptor slots!

Michael, I think this is related to your code (bcm43xx_dma.c). It is
quite possible that the bug isn't in your code, but rather in the
general management of DMA.

bcm43xx: Out of DMA descriptor slots!
SoftMAC: Scanning finished
SoftMAC: Start scanning with channel: 1
SoftMAC: Scanning 14 channels
printk: 27 messages suppressed.
bcm43xx: Out of DMA descriptor slots!
SoftMAC: Scanning finished
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
bcm43xx: Radio turned off
bcm43xx: DMA 0x0200 (RX) max used slots: 0/64
bcm43xx: DMA 0x0260 (TX) max used slots: 0/512
bcm43xx: DMA 0x0240 (TX) max used slots: 0/512
bcm43xx: DMA 0x0220 (TX) max used slots: 512/512
bcm43xx: DMA 0x0200 (TX) max used slots: 0/512
SoftMAC: Canceling existing associate request!
SoftMAC: Associate: Scanning for networks first.
SoftMAC: Associate: failed to initiate scan. Is device up?
bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
[NetworkManager:3749]: Changing netdevice name from [eth2] to [F]
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: Keys cleared
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
bcm43xx: Selected 802.11 core (phytype 2)
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
SoftMAC: Associate: Scanning for networks first.
SoftMAC: Start scanning with channel: 1
SoftMAC: Scanning 14 channels
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
ADDRCONF(NETDEV_UP): F: link is not ready
bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
dhclient: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 5
dhclient: send_packet: No such device
dhclient: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 11
dhclient: send_packet: No such device
NetworkManager: <WARNING>^I nm_device_802_11_wireless_get_mode ():
error getting card mode on eth2: No such device
NetworkManager: <WARNING>^I nm_device_802_11_wireless_scan (): could
not trigger wireless scan on device eth2: No such device
NetworkManager: <WARNING>^I nm_device_802_11_wireless_get_mode ():
error getting card mode on eth2: No such device

--
VGER BF report: U 0.501222


2006-09-03 12:34:51

by Michael Büsch

[permalink] [raw]
Subject: Re: 2.6.18-rc5-mm1 -- bcm43xx: Out of DMA descriptor slots!

On Sunday 03 September 2006 11:18, Miles Lane wrote:
> Michael, I think this is related to your code (bcm43xx_dma.c). It is
> quite possible that the bug isn't in your code, but rather in the
> general management of DMA.

Please try latest wireless-2.6 tree. I think it has a bugfix for this.

> bcm43xx: Out of DMA descriptor slots!
> SoftMAC: Scanning finished
> SoftMAC: Start scanning with channel: 1
> SoftMAC: Scanning 14 channels
> printk: 27 messages suppressed.
> bcm43xx: Out of DMA descriptor slots!
> SoftMAC: Scanning finished
> bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
> bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
> bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
> bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
> bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
> bcm43xx: Radio turned off
> bcm43xx: DMA 0x0200 (RX) max used slots: 0/64
> bcm43xx: DMA 0x0260 (TX) max used slots: 0/512
> bcm43xx: DMA 0x0240 (TX) max used slots: 0/512
> bcm43xx: DMA 0x0220 (TX) max used slots: 512/512
> bcm43xx: DMA 0x0200 (TX) max used slots: 0/512
> SoftMAC: Canceling existing associate request!
> SoftMAC: Associate: Scanning for networks first.
> SoftMAC: Associate: failed to initiate scan. Is device up?
> bcm43xx: set security called, .level = 0, .enabled = 0, .encrypt = 0
> [NetworkManager:3749]: Changing netdevice name from [eth2] to [F]
> bcm43xx: PHY connected
> bcm43xx: Radio turned on
> bcm43xx: Chip initialized
> bcm43xx: DMA initialized
> bcm43xx: Keys cleared
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
> bcm43xx: Selected 802.11 core (phytype 2)
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
> SoftMAC: Associate: Scanning for networks first.
> SoftMAC: Start scanning with channel: 1
> SoftMAC: Scanning 14 channels
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2240:bcm43xx_mac_enable()
> ADDRCONF(NETDEV_UP): F: link is not ready
> bcm43xx: ASSERTION FAILED (bcm->mac_suspended >= 0) at:
> drivers/net/wireless/bcm43xx/bcm43xx_main.c:2258:bcm43xx_mac_suspend()
> dhclient: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 5
> dhclient: send_packet: No such device
> dhclient: DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 11
> dhclient: send_packet: No such device
> NetworkManager: <WARNING>^I nm_device_802_11_wireless_get_mode ():
> error getting card mode on eth2: No such device
> NetworkManager: <WARNING>^I nm_device_802_11_wireless_scan (): could
> not trigger wireless scan on device eth2: No such device
> NetworkManager: <WARNING>^I nm_device_802_11_wireless_get_mode ():
> error getting card mode on eth2: No such device
>

--
Greetings Michael.

--
VGER BF report: H 3.71389e-10

2006-09-03 14:00:52

by Larry Finger

[permalink] [raw]
Subject: Re: 2.6.18-rc5-mm1 -- bcm43xx: Out of DMA descriptor slots!

Michael Buesch wrote:
> On Sunday 03 September 2006 11:18, Miles Lane wrote:
>> Michael, I think this is related to your code (bcm43xx_dma.c). It is
>> quite possible that the bug isn't in your code, but rather in the
>> general management of DMA.
>
> Please try latest wireless-2.6 tree. I think it has a bugfix for this.

There is a fix (commit 653d5b55c0125dca97a420b9a5e77fad7adbf3f0) for mac_suspended assertions in the
latest wireless-2.6. If you just want that fix, use the following:

Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
===================================================================
--- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -3349,6 +3349,8 @@
memset(bcm->dma_reason, 0, sizeof(bcm->dma_reason));
bcm->irq_savedstate = BCM43xx_IRQ_INITIAL;

+ bcm->mac_suspended = 1;
+
/* Noise calculation context */
memset(&bcm->noisecalc, 0, sizeof(bcm->noisecalc));


If this patch is already in your code, and you are still getting the assertions, please let me know.

Larry


--
VGER BF report: H 0.427049

2006-09-03 16:55:55

by Miles Lane

[permalink] [raw]
Subject: Re: 2.6.18-rc5-mm1 -- bcm43xx: Out of DMA descriptor slots!

On 9/3/06, Larry Finger <[email protected]> wrote:
> Michael Buesch wrote:
> > On Sunday 03 September 2006 11:18, Miles Lane wrote:
> >> Michael, I think this is related to your code (bcm43xx_dma.c). It is
> >> quite possible that the bug isn't in your code, but rather in the
> >> general management of DMA.
> >
> > Please try latest wireless-2.6 tree. I think it has a bugfix for this.
>
> There is a fix (commit 653d5b55c0125dca97a420b9a5e77fad7adbf3f0) for mac_suspended assertions in the
> latest wireless-2.6. If you just want that fix, use the following:
>
> Index: wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> ===================================================================
> --- wireless-2.6.orig/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> +++ wireless-2.6/drivers/net/wireless/bcm43xx/bcm43xx_main.c
> @@ -3349,6 +3349,8 @@
> memset(bcm->dma_reason, 0, sizeof(bcm->dma_reason));
> bcm->irq_savedstate = BCM43xx_IRQ_INITIAL;
>
> + bcm->mac_suspended = 1;
> +
> /* Noise calculation context */
> memset(&bcm->noisecalc, 0, sizeof(bcm->noisecalc));
>
>
> If this patch is already in your code, and you are still getting the assertions, please let me know.

Thanks. 2.6.18-rc5-mm1 doesn't have this patch. Andrew, could you
pull a current wireless tree into your next mm release?

Cheerio,
Miles

--
VGER BF report: H 5.12123e-05