[parisc-linux-cvs] Re: DIFF 2.4.20-pa11 airo.c support

Grant Grundler grundler@dsl2.external.hp.com
Thu, 5 Dec 2002 23:59:06 -0700


On Thu, Dec 05, 2002 at 11:50:49PM -0700, Grant Grundler wrote:
> Log message:
> 2.4.20-pa11 airo.c support
> o fix PORT_IN on dino (thanks willy!)
> o fix airo.c for parisc (lamont/tausq)
> o improve ip_fast_csum (lamont/tausq)

diff only includes latest airo.c changes
lamont has posted all the other changes to p-l list.

grant


Index: Makefile
===================================================================
RCS file: /var/cvs/linux/Makefile,v
retrieving revision 1.370
diff -u -p -r1.370 Makefile
--- Makefile	4 Dec 2002 01:05:23 -0000	1.370
+++ Makefile	6 Dec 2002 06:47:38 -0000
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 20
-EXTRAVERSION = -pa10
+EXTRAVERSION = -pa11
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
Index: drivers/net/wireless/airo.c
===================================================================
RCS file: /var/cvs/linux/drivers/net/wireless/airo.c,v
retrieving revision 1.10
diff -u -p -r1.10 airo.c
--- drivers/net/wireless/airo.c	4 Dec 2002 22:14:00 -0000	1.10
+++ drivers/net/wireless/airo.c	6 Dec 2002 06:47:40 -0000
@@ -1964,9 +1964,8 @@ static void airo_interrupt ( int irq, vo
 				u16 tmp[4];
 			} hdr;
 #pragma pack()
-			u16 gap;
 			u16 tmpbuf[4];
-			u16 *buffer;
+			u16 *buffer=NULL;
 
 			fid = IN4500( apriv, RXFID );
 
@@ -2011,15 +2010,17 @@ static void airo_interrupt ( int irq, vo
 				} else
 					hdrlen = ETH_ALEN * 2;
 
-				skb = dev_alloc_skb( len + hdrlen + 2 );
+				skb = dev_alloc_skb( len + hdrlen + 2 + 2 );
 				if ( !skb ) {
 					apriv->stats.rx_dropped++;
 					len = 0;
 				}
 			}
 			if (len) {
+				skb_reserve(skb, 2);  /* Align IP on 16 byte boundaries */
 				buffer = (u16*)skb_put (skb, len + hdrlen);
 				if (apriv->flags & FLAG_802_11) {
+					u16 gap;
 					buffer[0] = fc;
 					bap_read (apriv, buffer + 1, hdrlen - 2, BAP0);
 					if (hdrlen == 24)