netxen: fix endianness in serial number
authorDhananjay Phadke <dhananjay@netxen.com>
Fri, 13 Mar 2009 14:52:01 +0000 (14:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 14 Mar 2009 21:00:31 +0000 (14:00 -0700)
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netxen/netxen_nic_hw.c

index a93ab58..8db4ac3 100644 (file)
@@ -2268,7 +2268,7 @@ void netxen_nic_get_firmware_info(struct netxen_adapter *adapter)
        u32 fw_major, fw_minor, fw_build;
        char brd_name[NETXEN_MAX_SHORT_NAME];
        char serial_num[32];
-       int i, addr;
+       int i, addr, val;
        int *ptr32;
        struct pci_dev *pdev = adapter->pdev;
 
@@ -2278,14 +2278,12 @@ void netxen_nic_get_firmware_info(struct netxen_adapter *adapter)
        addr = NETXEN_USER_START +
               offsetof(struct netxen_new_user_info, serial_num);
        for (i = 0; i < 8; i++) {
-               if (netxen_rom_fast_read(adapter, addr, ptr32) == -1) {
-                       printk("%s: ERROR reading %s board userarea.\n",
-                              netxen_nic_driver_name,
-                              netxen_nic_driver_name);
+               if (netxen_rom_fast_read(adapter, addr, &val) == -1) {
+                       dev_err(&pdev->dev, "error reading board info\n");
                        adapter->driver_mismatch = 1;
                        return;
                }
-               ptr32++;
+               ptr32[i] = cpu_to_le32(val);
                addr += sizeof(u32);
        }