net: pcnet: Fix init on big endian 64 bit
PATCH v2 1/1 net: pcnet: Fix init on big endian 64 bit
If dev->iobase is 64 bits wide then writing the value of the BAR into a pointer to iobase will not work on big endian systems, where the BAR value will incorrectly get written to the upper 32 bits of the 64 bit variable. Fix this by reading the BAR into a u32, matching the type expected by pci_read_config_dword.
---
Changes in v2:
- Drop useless cast of &bar.
drivers/net/pcnet.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/net/pcnet.c +3 -3
@@ -155,6 +155,7 @@ int pcnet_initialize(bd_t *bis)struct eth_device *dev;u16 command, status;int dev_nr =0 ; +u32 bar;PCNET_DEBUG1 ("\npcnet_initialize...\n" );
@@ -182,9 +183,8 @@ int pcnet_initialize(bd_t *bis)/* * Setup the PCI device. */ -pci_read_config_dword (devbusfn,PCI_BASE_ADDRESS_0 , - (unsigned int *)&dev->iobase); - dev->iobase =pci_io_to_phys (devbusfn, dev->iobase); +pci_read_config_dword (devbusfn,PCI_BASE_ADDRESS_0 , &bar); + dev->iobase =pci_io_to_phys (devbusfn, bar); dev->iobase &= ~0xf ; PCNET_DEBUG1("%s: devbusfn=0x%x iobase=0x%lx: ",
Signature · 1 line
2.8.3
PATCH v2 1/1 net: pcnet: Fix init on big endian 64 bit
Am 26.05.2016 um 18:32 schrieb Paul Burton:
Quoted 8 lines
If
dev->iobaseis 64 bits wide then writing the value of the BAR into a pointer to iobase will not work on big endian systems, where the BAR value will incorrectly get written to the upper 32 bits of the 64 bit variable. Fix this by reading the BAR into a u32, matching the type expected bypci_read_config_dword.Signed-off-by Paul Burton <[email protected]>
Quoted 8 lines
---
Changes in v2:
- Drop useless cast of &bar.drivers/net/pcnet.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
applied to u-boot-mips, thanks.
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 473 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160527/b14f4609/attachment.sig>