[PATCH] DWL-650P + PLX really works
proski at gnu.org
Wed Jan 21 19:27:34 EST 2004
Finally I have DWL-650P working for real as an access point. I can
actually transmit the data. At the moment it only works in the PLX
adapter. The problem was timing related. The delay in
prism2_plx_cor_sreset() was insufficient.
prism2_enable_genesis() calls local->func->cor_sreset and then writes 4
bytes to 0x7e0038 using hfa384x_to_aux(). Since prism2_plx_cor_sreset()
exits before the reset is complete, something wrong happens when that data
is written. The result is the continuous messages in the kernel log:
wifi0: Command completion event, but no pending commands
It turns out the time actually needed after unsetting the COR_SRESET bit
at the end of prism2_plx_cor_sreset() is about 1020 microseconds, just 2%
more than the currently used 1 millisecond. I think we shouldn't be so
greedy. It's just microseconds. The patch increases all delays to 2
Also, the patch adds the ID of DWL-650 rev. P to the table of known IDs.
It's quite reasonable. Some PLX based adapters are sold separately, and
users may expect them to work with their wireless cards. (Maybe we'll
have a flag in that table to set no_primary automatically, but it will be
the next step.)
Now I'm going to try to make DWL-650P work in the TI socket. Maybe it's a
timing issue as well.
More information about the HostAP