netxen: fix fw load from file
authorAmit Kumar Salecha <amit.salecha@qlogic.com>
Mon, 29 Mar 2010 02:43:44 +0000 (02:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 29 Mar 2010 20:18:37 +0000 (13:18 -0700)
Rarely: Fw file size can be unaligned to 8.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netxen/netxen_nic_init.c

index 141bc4389fec9a1eb31467292898b85029540712..439f3e85969387fb4663f53012d4ab2690236384 100644 (file)
@@ -1019,6 +1019,16 @@ netxen_load_firmware(struct netxen_adapter *adapter)
 
                        flashaddr += 8;
                }
+
+               size = (__force u32)nx_get_fw_size(adapter) % 8;
+               if (size) {
+                       data = cpu_to_le64(ptr64[i]);
+
+                       if (adapter->pci_mem_write(adapter,
+                                               flashaddr, data))
+                               return -EIO;
+               }
+
        } else {
                u64 data;
                u32 hi, lo;