spatch: @ r1 @ identifier _tx, _ops; @@ struct ieee80211_ops _ops = { ... .tx = _tx, ... }; @ r2 depends on r1 @ identifier r1._tx; @@ static int _tx(...) { ... -return ...; } shows a lot... First off: all those should return NETDEV_TX_OK/BUSY. ath5k: returns 0/-1 ath9k: returns 0/-1 iwl-agn: returns 0 (== NETDEV_TX_OK, but still should be changed) iwl3945: same libertas_tf: same rtl8180: same p54: same (some paths) rtl8187: that's why I started looking zd1211: returns -E* codes These need to be fixed, the bad ones are zd1211 and rtl8187, the -1 from ath5k/9k is not much of a worry but should be fixed anyway. Preferably, drivers should just drop frames when they can't handle them, but keep in mind fragmentation and keep enough space for up to 9 or 10 (I think) fragments. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part