Michael Buesch wrote:
On Sunday 27 November 2005 03:44, you wrote:
I am trying to help the bcm43xx project develop a driver for the
Broadcom 43xx wireless chips, using my Linksys WPC54G card.
Unfortunately, since the group got far enough to turn on RX DMA, my
system has frozen whenever I load the driver. TX DMA was OK. It seems to
correlate with the receipt of a beacon from my AP, but that cannot be
proven. When the freeze happens, I cannot do anything more and have to
power the system off.
What should I consider as a cause of the freeze? I have reviewed the
code and do not find any obvious out-of-bounds memory references. I have
tried various 'printk' statements, but none of them in the bottom-half
interrupt routine make it to the logs. Are there any tricks that I
should try?
Enable most of the "Kernel Hacking" Debugging options, like
Memory and spinlock debugging. This will often catch memory corruptions
or deadlocks.
I'm not sure where the freeze happens, from your explanations.
Does it freeze before or after the DMA operations? I am sure we find the
reason, if you talk to us about the problem on IRC or the bcm43xx mailing list.
As you requested, I am taking the discussion to the bcm43xx mailing
list. I'm pretty sure the freeze happens after the DMA completes. I
started getting freezes when the code to remove the PLCP header was
added. Before that, my system printed the message "not for us" or
something like that and continued. Now it just freezes. The last message
in the log is usually "Chip initialized"; however, once I got a printk
from the entry to the bottom-half routine (I added a printk there.) with
the value for 'reason' equal to 0x8100.
At the moment, I am unable to load the bcm430x module due to the
following messages:
bcm430x: module license 'unspecified' taints kernel.
bcm430x: Unknown symbol queue_delayed_work
bcm430x: Unknown symbol flush_workqueue
bcm430x: Unknown symbol destroy_workqueue
bcm430x: Unknown symbol __create_workqueue
bcm430x: Unknown symbol queue_work
bcm430x: Unknown symbol queue_delayed_work
bcm430x: Unknown symbol flush_workqueue
bcm430x: Unknown symbol destroy_workqueue
bcm430x: Unknown symbol __create_workqueue
bcm430x: Unknown symbol queue_work
I see those globals in the System map, but they are not found by modprobe.
Larry
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
http://lists.berlios.de/mailman/listinfo/bcm43xx-dev