Commit e2effd3d authored by Guennadi Liakhovetski's avatar Guennadi Liakhovetski Committed by Jeff Garzik

[wireless airo] fix alignment problem (particularly on ARM)

Bugzilla #2905
parent 56b32d0b
...@@ -3163,11 +3163,12 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs) ...@@ -3163,11 +3163,12 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs)
} else } else
hdrlen = ETH_ALEN * 2; hdrlen = ETH_ALEN * 2;
skb = dev_alloc_skb( len + hdrlen + 2 ); skb = dev_alloc_skb( len + hdrlen + 2 + 2 );
if ( !skb ) { if ( !skb ) {
apriv->stats.rx_dropped++; apriv->stats.rx_dropped++;
goto badrx; goto badrx;
} }
skb_reserve(skb, 2); /* This way the IP header is aligned */
buffer = (u16*)skb_put (skb, len + hdrlen); buffer = (u16*)skb_put (skb, len + hdrlen);
if (test_bit(FLAG_802_11, &apriv->flags)) { if (test_bit(FLAG_802_11, &apriv->flags)) {
buffer[0] = fc; buffer[0] = fc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment