diff options
Diffstat (limited to 'drivers/net/irda/smsc-ircc2.c')
-rw-r--r-- | drivers/net/irda/smsc-ircc2.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c index 31c623381ea8..198bf3bfa70f 100644 --- a/drivers/net/irda/smsc-ircc2.c +++ b/drivers/net/irda/smsc-ircc2.c | |||
@@ -315,6 +315,7 @@ static struct smsc_chip __initdata lpc_chips_flat[] = | |||
315 | { | 315 | { |
316 | /* Base address 0x2E or 0x4E */ | 316 | /* Base address 0x2E or 0x4E */ |
317 | { "47N227", KEY55_1|FIR|SERx4, 0x5a, 0x00 }, | 317 | { "47N227", KEY55_1|FIR|SERx4, 0x5a, 0x00 }, |
318 | { "47N227", KEY55_1|FIR|SERx4, 0x7a, 0x00 }, | ||
318 | { "47N267", KEY55_1|FIR|SERx4, 0x5e, 0x00 }, | 319 | { "47N267", KEY55_1|FIR|SERx4, 0x5e, 0x00 }, |
319 | { NULL } | 320 | { NULL } |
320 | }; | 321 | }; |
@@ -1161,7 +1162,7 @@ static int smsc_ircc_hard_xmit_fir(struct sk_buff *skb, struct net_device *dev) | |||
1161 | self->new_speed = speed; | 1162 | self->new_speed = speed; |
1162 | } | 1163 | } |
1163 | 1164 | ||
1164 | memcpy(self->tx_buff.head, skb->data, skb->len); | 1165 | skb_copy_from_linear_data(skb, self->tx_buff.head, skb->len); |
1165 | 1166 | ||
1166 | self->tx_buff.len = skb->len; | 1167 | self->tx_buff.len = skb->len; |
1167 | self->tx_buff.data = self->tx_buff.head; | 1168 | self->tx_buff.data = self->tx_buff.head; |
@@ -1412,7 +1413,7 @@ static void smsc_ircc_dma_receive_complete(struct smsc_ircc_cb *self) | |||
1412 | self->stats.rx_bytes += len; | 1413 | self->stats.rx_bytes += len; |
1413 | 1414 | ||
1414 | skb->dev = self->netdev; | 1415 | skb->dev = self->netdev; |
1415 | skb->mac.raw = skb->data; | 1416 | skb_reset_mac_header(skb); |
1416 | skb->protocol = htons(ETH_P_IRDA); | 1417 | skb->protocol = htons(ETH_P_IRDA); |
1417 | netif_rx(skb); | 1418 | netif_rx(skb); |
1418 | } | 1419 | } |