kern/142018: [iwi] [patch] Possibly wrong interpretation of beacon->number in if_iwi.c

Andre Albsmeier Andre.Albsmeier at siemens.com
Fri Jan 15 07:30:05 UTC 2010


The following reply was made to PR kern/142018; it has been noted by GNATS.

From: Andre Albsmeier <Andre.Albsmeier at siemens.com>
To: Bernhard Schmidt <bschmidt at techwires.net>
Cc: bug-followup at freebsd.org, Andre.Albsmeier at siemens.com
Subject: Re: kern/142018: [iwi] [patch] Possibly wrong interpretation of
 beacon-&gt;number in if_iwi.c
Date: Fri, 15 Jan 2010 08:07:40 +0100

 On Thu, 14-Jan-2010 at 16:10:28 +0100, Bernhard Schmidt wrote:
 > Hi,
 > 
 > It might be simple endianess related issue, does this patch make any 
 > difference?
 
 No, it doesn't (which is what I expected on an i386 machine).
 And beacon->state is not the problem, it's beacon->number ;-)
 
 If have associated the interface to a network with a weak
 signal and results are the same:
 
 Jan 15 08:00:08 <kern.crit> box kernel: Beacon state (1, 0x1260606)
 Jan 15 08:00:09 <kern.crit> box kernel: Beacon state (1, 0x1260707)
 Jan 15 08:00:09 <kern.crit> box kernel: Beacon state (1, 0x1260808)
 Jan 15 08:00:09 <kern.crit> box kernel: Beacon state (1, 0x1260606)
 Jan 15 08:00:10 <kern.crit> box kernel: Beacon state (1, 0x1260707)
 Jan 15 08:00:10 <kern.crit> box kernel: Beacon state (1, 0x1260808)
 Jan 15 08:00:10 <kern.crit> box kernel: Beacon state (1, 0x1260909)
 Jan 15 08:00:10 <kern.crit> box kernel: Beacon state (1, 0x1260a0a)
 Jan 15 08:00:10 <kern.crit> box kernel: Beacon state (1, 0x1260b0b)
 Jan 15 08:00:12 <kern.crit> box kernel: Beacon state (1, 0x1260606)
 Jan 15 08:00:12 <kern.crit> box kernel: Beacon state (1, 0x1260707)
 Jan 15 08:00:12 <kern.crit> box kernel: Beacon state (1, 0x1260808)
 Jan 15 08:00:12 <kern.crit> box kernel: Beacon state (1, 0x1260909)
 Jan 15 08:00:13 <kern.crit> box kernel: Beacon state (1, 0x1260a0a)
 Jan 15 08:00:13 <kern.crit> box kernel: Beacon state (1, 0x1260b0b)
 Jan 15 08:00:15 <kern.crit> box kernel: Beacon state (1, 0x210606)
 Jan 15 08:00:15 <kern.crit> box kernel: Beacon state (1, 0x210707)
 Jan 15 08:00:15 <kern.crit> box kernel: Beacon state (1, 0x210808)
 Jan 15 08:00:15 <kern.crit> box kernel: Beacon state (1, 0x210909)
 Jan 15 08:00:15 <kern.crit> box kernel: Beacon state (1, 0x210a0a)
 Jan 15 08:00:15 <kern.crit> box kernel: Beacon state (1, 0x210b0b)
 Jan 15 08:00:18 <kern.crit> box kernel: Beacon state (1, 0x606)
 Jan 15 08:00:18 <kern.crit> box kernel: Beacon state (1, 0x707)
 Jan 15 08:00:18 <kern.crit> box kernel: Beacon state (1, 0x808)
 Jan 15 08:00:18 <kern.crit> box kernel: Beacon state (1, 0x909)
 Jan 15 08:00:18 <kern.crit> box kernel: Beacon state (1, 0xa0a)
 Jan 15 08:00:18 <kern.crit> box kernel: Beacon state (1, 0xb0b)
 Jan 15 08:00:21 <kern.crit> box kernel: Beacon state (1, 0x606)
 Jan 15 08:00:21 <kern.crit> box kernel: Beacon state (1, 0x707)
 Jan 15 08:00:21 <kern.crit> box kernel: Beacon state (1, 0x808)
 Jan 15 08:00:21 <kern.crit> box kernel: Beacon state (1, 0x909)
 Jan 15 08:00:21 <kern.crit> box kernel: Beacon state (1, 0xa0a)
 Jan 15 08:00:21 <kern.crit> box kernel: Beacon state (1, 0xb0b)
 Jan 15 08:00:24 <kern.crit> box kernel: Beacon state (1, 0x606)
 Jan 15 08:00:25 <kern.crit> box kernel: Beacon state (1, 0x707)
 Jan 15 08:00:25 <kern.crit> box kernel: Beacon state (1, 0x808)
 Jan 15 08:00:25 <kern.crit> box kernel: Beacon state (1, 0x909)
 Jan 15 08:00:25 <kern.crit> box kernel: Beacon state (1, 0xa0a)
 Jan 15 08:00:25 <kern.crit> box kernel: Beacon state (1, 0xb0b)
 Jan 15 08:00:27 <kern.crit> box kernel: Beacon state (1, 0x606)
 Jan 15 08:00:27 <kern.crit> box kernel: Beacon state (1, 0x707)
 Jan 15 08:00:28 <kern.crit> box kernel: Beacon state (1, 0x808)
 Jan 15 08:00:29 <kern.crit> box kernel: Beacon state (1, 0x1220606)
 Jan 15 08:00:29 <kern.crit> box kernel: Beacon state (1, 0x1220707)
 Jan 15 08:00:30 <kern.crit> box kernel: Beacon state (1, 0x1220808)
 Jan 15 08:00:30 <kern.crit> box kernel: Beacon state (1, 0x1220909)
 Jan 15 08:00:30 <kern.crit> box kernel: Beacon state (1, 0x1220a0a)
 Jan 15 08:00:30 <kern.crit> box kernel: Beacon state (1, 0x1220b0b)
 
 	-Andre
 
 > 
 > Index: if_iwi.c
 > ===================================================================
 > --- sys/dev/iwi/if_iwi.c	(revision 202285)
 > +++ sys/dev/iwi/if_iwi.c	(working copy)
 > @@ -1499,9 +1499,9 @@ iwi_notification_intr(struct iwi_softc *sc, struct
 >  		beacon = (struct iwi_notif_beacon_state *)(notif + 1);
 >  
 >  		DPRINTFN(5, ("Beacon state (%u, %u)\n",
 > -		    beacon->state, le32toh(beacon->number)));
 > +		    le32toh(beacon->state), le32toh(beacon->number)));
 >  
 > -		if (beacon->state == IWI_BEACON_MISS) {
 > +		if (le32toh(beacon->state) == IWI_BEACON_MISS) {
 >  			/*
 >  			 * The firmware notifies us of every beacon miss
 >  			 * so we need to track the count against the
 > 
 > -- 
 > Bernhard


More information about the freebsd-net mailing list