NetXen: Fixes for Power PC architecture
Mithlesh Thukral [Fri, 20 Apr 2007 14:56:42 +0000 (07:56 -0700)]
NetXen: Fix PPC architecture specific bugs
Fixes some issues seen on Big endian machines.

Signed-off by: Milan Bag <mbag@netxen.com>
Signed-off by: Mithlesh Thukral <mithlesh@netxen.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>

drivers/net/netxen/netxen_nic.h
drivers/net/netxen/netxen_nic_hw.c
drivers/net/netxen/netxen_nic_init.c

index 1e944d5..5095a3f 100644 (file)
@@ -64,9 +64,9 @@
 #include "netxen_nic_hw.h"
 
 #define _NETXEN_NIC_LINUX_MAJOR 3
-#define _NETXEN_NIC_LINUX_MINOR 3
-#define _NETXEN_NIC_LINUX_SUBVERSION 3
-#define NETXEN_NIC_LINUX_VERSIONID  "3.3.3"
+#define _NETXEN_NIC_LINUX_MINOR 4
+#define _NETXEN_NIC_LINUX_SUBVERSION 2
+#define NETXEN_NIC_LINUX_VERSIONID  "3.4.2"
 
 #define NUM_FLASH_SECTORS (64)
 #define FLASH_SECTOR_SIZE (64 * 1024)
index 3f4853f..baff17a 100644 (file)
@@ -1116,7 +1116,7 @@ void netxen_nic_flash_print(struct netxen_adapter *adapter)
        char brd_name[NETXEN_MAX_SHORT_NAME];
        struct netxen_new_user_info user_info;
        int i, addr = USER_START;
-       u32 *ptr32;
+       __le32 *ptr32;
 
        struct netxen_board_info *board_info = &(adapter->ahw.boardcfg);
        if (board_info->magic != NETXEN_BDINFO_MAGIC) {
@@ -1142,7 +1142,6 @@ void netxen_nic_flash_print(struct netxen_adapter *adapter)
                                       netxen_nic_driver_name);
                                return;
                        }
-                       *ptr32 = le32_to_cpu(*ptr32);
                        ptr32++;
                        addr += sizeof(u32);
                }
index 3cd7e35..cf0e96a 100644 (file)
@@ -439,6 +439,7 @@ do_rom_fast_read_words(struct netxen_adapter *adapter, int addr,
                ret = do_rom_fast_read(adapter, addridx, (int *)bytes);
                if (ret != 0)
                        break;
+               *(int *)bytes = cpu_to_le32(*(int *)bytes);
                bytes += 4;
        }
 
@@ -496,8 +497,7 @@ static inline int do_rom_fast_write_words(struct netxen_adapter *adapter,
                int timeout = 0;
                int data;
 
-               data = *(u32*)bytes;
-
+               data = le32_to_cpu((*(u32*)bytes));
                ret = do_rom_fast_write(adapter, addridx, data);
                if (ret < 0)
                        return ret;