On Thursday 24 August 2006 22:36, wen xiong wrote:
>
> Hi All,
>
> This patch brings the NetXen Ethernet driver to work on big-endian
> systems. I have tested this patch on difference platforms including
> little-endian and big-endian systems. The patch included:
> (1)transmit and receive descriptors endian issue fix.
> (2)MAC address endian issue fix.
Next time please inline the patch in the mail.
> diff -Nuar old/drivers/net/netxen/netxen_nic_hw.c
> new/drivers/net/netxen/netxen_nic_hw.c ---
> old/drivers/net/netxen/netxen_nic_hw.c 2006-08-23 12:58:43.000000000
> -0500
> +++ new/drivers/net/netxen/netxen_nic_hw.c 2006-08-23 13:15:19.000000000
> -0500 @@ -313,7 +313,8 @@
> }
> }
> CMD_DESC_TCP_HDR_OFFSET_WRT(desc, skb->h.raw - skb->data);
> - desc->ip_hdr_offset = skb->nh.raw - skb->data;
> + desc->length_tcp_hdr=cpu_to_le32(desc->length_tcp_hdr);
^^^
spaces here, please.
> + desc->ip_hdr_offset = skb->nh.raw - skb->data;
^^^^
That's one space too much ;) No need to change that line.
> @@ -832,9 +832,9 @@
> rcv_desc->dma_size,
> PCI_DMA_FROMDEVICE);
> /* make a rcv descriptor */
> - pdesc->reference_handle = __cpu_to_le16(buffer->ref_handle);
> - pdesc->buffer_length = __cpu_to_le16(rcv_desc->dma_size);
> - pdesc->addr_buffer = __cpu_to_le64(buffer->dma);
> + pdesc->reference_handle = le16_to_cpu(buffer->ref_handle);
I think that should be cpu_to_le16()
(although they are technically equal..)
> + pdesc->buffer_length = le16_to_cpu(rcv_desc->dma_size);
dito
> diff -Nuar old/drivers/net/netxen/netxen_nic_niu.c
> new/drivers/net/netxen/netxen_nic_niu.c ---
> old/drivers/net/netxen/netxen_nic_niu.c 2006-08-23 12:58:43.000000000
> -0500
> +++ new/drivers/net/netxen/netxen_nic_niu.c 2006-08-23 13:15:19.000000000
> -0500 @@ -712,6 +712,7 @@
> return -EINVAL;
>
> memcpy(&temp, addr, 2);
> + temp=cpu_to_le32(temp);
I think that should be:
temp = le32_to_cpu(temp);
> temp <<= 16;
> if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_1,
> &temp, 4))
> @@ -720,6 +721,7 @@
> temp = 0;
>
> memcpy(&temp, ((u8 *) addr) + 2, sizeof(netxen_crbword_t));
> + temp=cpu_to_le32(temp);
dito
> if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_HI,
> &temp, 4))
> return -EIO;
> @@ -760,7 +762,7 @@
> long netxen_niu_xg_set_promiscuous_mode(struct netxen_adapter *adapter,
> long port, netxen_niu_prom_mode_t mode)
> {
> - long reg;
> + netxen_crbword_t reg;
>
> if ((port < 0) || (port > NETXEN_NIU_MAX_GBE_PORTS))
> return -EINVAL;
--
Greetings Michael.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html