Loading drivers/net/sungem.c +5 −3 Original line number Diff line number Diff line Loading @@ -758,6 +758,7 @@ static int gem_rx(struct gem *gp, int work_to_do) { int entry, drops, work_done = 0; u32 done; __sum16 csum; if (netif_msg_rx_status(gp)) printk(KERN_DEBUG "%s: rx interrupt, done: %d, rx_new: %d\n", Loading @@ -769,7 +770,7 @@ static int gem_rx(struct gem *gp, int work_to_do) for (;;) { struct gem_rxd *rxd = &gp->init_block->rxd[entry]; struct sk_buff *skb; u64 status = cpu_to_le64(rxd->status_word); u64 status = le64_to_cpu(rxd->status_word); dma_addr_t dma_addr; int len; Loading Loading @@ -811,7 +812,7 @@ static int gem_rx(struct gem *gp, int work_to_do) goto next; } dma_addr = cpu_to_le64(rxd->buffer); dma_addr = le64_to_cpu(rxd->buffer); if (len > RX_COPY_THRESHOLD) { struct sk_buff *new_skb; Loading Loading @@ -853,7 +854,8 @@ static int gem_rx(struct gem *gp, int work_to_do) skb = copy_skb; } skb->csum = ntohs((status & RXDCTRL_TCPCSUM) ^ 0xffff); csum = (__force __sum16)htons((status & RXDCTRL_TCPCSUM) ^ 0xffff); skb->csum = csum_unfold(csum); skb->ip_summed = CHECKSUM_COMPLETE; skb->protocol = eth_type_trans(skb, gp->dev); Loading drivers/net/sungem.h +4 −4 Original line number Diff line number Diff line Loading @@ -828,8 +828,8 @@ * DMA mappings for a transmitted packet. */ struct gem_txd { u64 control_word; u64 buffer; __le64 control_word; __le64 buffer; }; #define TXDCTRL_BUFSZ 0x0000000000007fffULL /* Buffer Size */ Loading Loading @@ -863,8 +863,8 @@ struct gem_txd { * by the host driver just as in the TX descriptor case above. */ struct gem_rxd { u64 status_word; u64 buffer; __le64 status_word; __le64 buffer; }; #define RXDCTRL_TCPCSUM 0x000000000000ffffULL /* TCP Pseudo-CSUM */ Loading Loading
drivers/net/sungem.c +5 −3 Original line number Diff line number Diff line Loading @@ -758,6 +758,7 @@ static int gem_rx(struct gem *gp, int work_to_do) { int entry, drops, work_done = 0; u32 done; __sum16 csum; if (netif_msg_rx_status(gp)) printk(KERN_DEBUG "%s: rx interrupt, done: %d, rx_new: %d\n", Loading @@ -769,7 +770,7 @@ static int gem_rx(struct gem *gp, int work_to_do) for (;;) { struct gem_rxd *rxd = &gp->init_block->rxd[entry]; struct sk_buff *skb; u64 status = cpu_to_le64(rxd->status_word); u64 status = le64_to_cpu(rxd->status_word); dma_addr_t dma_addr; int len; Loading Loading @@ -811,7 +812,7 @@ static int gem_rx(struct gem *gp, int work_to_do) goto next; } dma_addr = cpu_to_le64(rxd->buffer); dma_addr = le64_to_cpu(rxd->buffer); if (len > RX_COPY_THRESHOLD) { struct sk_buff *new_skb; Loading Loading @@ -853,7 +854,8 @@ static int gem_rx(struct gem *gp, int work_to_do) skb = copy_skb; } skb->csum = ntohs((status & RXDCTRL_TCPCSUM) ^ 0xffff); csum = (__force __sum16)htons((status & RXDCTRL_TCPCSUM) ^ 0xffff); skb->csum = csum_unfold(csum); skb->ip_summed = CHECKSUM_COMPLETE; skb->protocol = eth_type_trans(skb, gp->dev); Loading
drivers/net/sungem.h +4 −4 Original line number Diff line number Diff line Loading @@ -828,8 +828,8 @@ * DMA mappings for a transmitted packet. */ struct gem_txd { u64 control_word; u64 buffer; __le64 control_word; __le64 buffer; }; #define TXDCTRL_BUFSZ 0x0000000000007fffULL /* Buffer Size */ Loading Loading @@ -863,8 +863,8 @@ struct gem_txd { * by the host driver just as in the TX descriptor case above. */ struct gem_rxd { u64 status_word; u64 buffer; __le64 status_word; __le64 buffer; }; #define RXDCTRL_TCPCSUM 0x000000000000ffffULL /* TCP Pseudo-CSUM */ Loading