It isn't, I just hadn't seen that and it wasn't in my git pull.  Someone
had commented to me that "hey, did that ever get pushed up?" and at a
glance it hadn't.

Sorry for the noise, both patches seem to achieve the same ends.

-m

On Sat, Nov 12, 2005 at 09:58:35PM -0500, John W. Linville wrote:
> Mike,
> 
> Please explain why the patch below is any better/worse than the
> patch here:
> 
>       http://marc.theaimsgroup.com/?l=linux-netdev&m=112997172112090&w=2
> 
> Thanks!
> 
> John
> 
> On Sat, Nov 05, 2005 at 01:47:00PM -0500, Mike Kershaw wrote:
> > Josh Wright and I encountered this doing rawtx experiements some time
> > ago.  I bounced it to the prism54 guys but it must have gotten lost in
> > the shuffle and we just noticed that it's still in the latest kernel so
> > here we go again.
> > 
> > PROBLEM:
> > Prism54 assumes frames must be at least ETH_ZLEN in size, and grows the
> > skb to that size if they are not.  However, it doesn't clear the grown
> > skb so anything left in kernel buffers gets throw into the packet and
> > transmitted onto the air.
> > 
> > SOLUTION:
> > Don't grow the frame size.  802.11 doesn't have a minimum frame size
> > constraint.  This was addressed on the Orinoco drivers recently in a 
> > similar situation.  After talking to the Prism54 team there appears to
> > be no constraint in the prism54 firmware that would prevent sending
> > short frames like this.
> > 
> > Patch attached.
> > 
> > Signed off by:  Mike Kershaw <[EMAIL PROTECTED]>
> > 
> > 
> > -- 
> > Mike Kershaw/Dragorn <[EMAIL PROTECTED]>
> > GPG Fingerprint: 3546 89DF 3C9D ED80 3381  A661 D7B2 8822 738B BDB1
> > 
> > Bus Error at 008BE426 while reading byte from DEADBEEF in User data space
> > 
> 
> > diff --git a/drivers/net/wireless/prism54/islpci_eth.c 
> > b/drivers/net/wireless/prism54/islpci_eth.c
> > index 5952e99..a2558c2 100644
> > --- a/drivers/net/wireless/prism54/islpci_eth.c
> > +++ b/drivers/net/wireless/prism54/islpci_eth.c
> > @@ -99,7 +99,9 @@ islpci_eth_transmit(struct sk_buff *skb,
> >  
> >     /* determine the amount of fragments needed to store the frame */
> >  
> > -   frame_size = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
> > +   /* Previously this was calculated by enforcing that a frame had to be 
> > as 
> > +    * large as ETH_ZLEN, however this should not be necessary on 802.11 
> > frames */
> > +   frame_size = skb->len;
> >     if (init_wds)
> >             frame_size += 6;
> >  
> 
> 
> 
> 
> -- 
> John W. Linville
> [EMAIL PROTECTED]
> 
> 
> !DSPAM:4376ac34257051348918865!

-- 
Mike Kershaw/Dragorn <[EMAIL PROTECTED]>
GPG Fingerprint: 3546 89DF 3C9D ED80 3381  A661 D7B2 8822 738B BDB1

Todays lesson is always to ignore your feelings and listen to the robot head.

Attachment: pgp6LRH7pPoC1.pgp
Description: PGP signature

Reply via email to