On Saturday 02 December 2006 08:25, Ulrich Kunitz wrote:
> >     - The original driver does not seem to check if a frame has been
> > successfully TXed (as in RXed an ACK), so the port does not properly
> > report to the stack whether or not a TX succeeded.
>
> TX is atomic. Do you really want to spin for the received ACK? Layer 2
> doesn't need to make any guarantees for packet transmission, so I have
> trouble to see the point here. The Linux Device Driver book says
> explicitly that packet transmission must not have been completed
> at the point in time the function returns.
>
And it doesn't. Sleeping at that point would be bad. However, the p54 driver 
looks for special frames from the card that report the success/failure of 
sent frames, and adm8211 can tell if a frame was TXed successfully on TX ring 
cleanup. The notification is then done by calling ieee80211_tx_status, not by 
returning an error code. No sleeping necessary. This is needed for the upper 
layer to resend frames and to also do rate control.

> I would suggest to maintain it until d80211 has
> complete regulatory domains support.
>
Why? It's not like any other d80211 drivers have regulatory domains support, 
and they need the exactly the same features that zd1211 needs. Also, the 
limited support for regulatory domains that d80211 does have restricts it to 
channels 1-11 (FCC) regardless, so the code would not be effective.

Thanks,
-Michael Wu

Attachment: pgpMQ7cClQqGX.pgp
Description: PGP signature

Reply via email to