[Prism54-devel] Re: islpci_mgt_transaction and stability

Luis R. Rodriguez mcgrof at ruslug.rutgers.edu
Mon Aug 9 04:13:50 UTC 2004


On Sun, Aug 08, 2004 at 11:32:09PM +0300, Denis Vlasenko wrote:
> Hi Luis, folks,
> 
> I am doing some stability testing. I instrumented
> driver to report each mgt transaction:
> 
> int
> islpci_mgt_transaction(struct net_device *ndev,
>                        int operation, unsigned long oid,
>                        void *senddata, int sendlen,
>                        struct islpci_mgmtframe **recvframe)
> {
> ...
>         printk(KERN_DEBUG "islpci_mgt_transaction(op %d, oid %08x, sendlen %d)\n",
>                 operation, oid, sendlen
>         );
> 
> I have two prism54 in STA<->AP setup and I positioned them so that link is bad
> and they frequently lose assoc. Which is easy to do, hardware is rather crappy
> RF-wise ;). Then, I fired UDP flood in both directions.
> 
> Typical throughput numbers can be found below the sig.
> 
> But I noticed one interesting thing. Whenever link is restored,
> I see lone "islpci_mgt_transaction(op 0, oid 10000001, sendlen 6)"
> in syslog. What that can be?
> 
> oid_mgt.c:
>         OID_STRUCT_C(DOT11_OID_BSSID, 0x10000001, u8[6], OID_TYPE_RAW),
> 
> I wonder, is this the result of (re)assoc happened?
> Or maybe it is other way around and this transaction kicked hw so
> that hw noticed the problem and reassociated?

Hmm, strange indeed. My only guess would be a bogus call to
mgt_get_request where the "extra" parameter was set to some value it
shouldn't have. When extra is set, the oid used for the get can be
affected by:

oid = isl_oid[n].oid + extra;

Perhaps try printk'ing extra here for all gets see if that triggered it
(?) That's the only thing I can think of.

	Luis

-- 
GnuPG Key fingerprint = 113F B290 C6D2 0251 4D84  A34A 6ADD 4937 E20A 525E


More information about the Prism54-devel mailing list