diff options
author | Amit Kumar Salecha <amit.salecha@qlogic.com> | 2010-03-29 02:43:44 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-29 13:18:37 -0700 |
commit | e270299a2f7a3040fe598113f74c2a7d5f63b582 (patch) | |
tree | 6962a9b6ba188eb199c828d4e2527e14aff20528 /drivers/net/netxen | |
parent | 10c0f2a852a529eacf2f223bbaef47832224a521 (diff) | |
download | blackbird-op-linux-e270299a2f7a3040fe598113f74c2a7d5f63b582.tar.gz blackbird-op-linux-e270299a2f7a3040fe598113f74c2a7d5f63b582.zip |
netxen: fix fw load from file
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>
Diffstat (limited to 'drivers/net/netxen')
-rw-r--r-- | drivers/net/netxen/netxen_nic_init.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c index 141bc4389fec..439f3e859693 100644 --- a/drivers/net/netxen/netxen_nic_init.c +++ b/drivers/net/netxen/netxen_nic_init.c @@ -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; |