diff options
| author | Sergei Shtylyov <sshtylyov@ru.mvista.com> | 2008-04-12 18:30:58 -0700 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-04-12 18:30:58 -0700 | 
| commit | 2de58e30db3f7e83592e22fb459dd6695b648889 (patch) | |
| tree | ea4bb850d897aaccb86c9a5b155761b453be0957 | |
| parent | 16a79142e51f9eedbf3ae9a20d9cdb2f88c86acc (diff) | |
| download | olio-linux-3.10-2de58e30db3f7e83592e22fb459dd6695b648889.tar.xz olio-linux-3.10-2de58e30db3f7e83592e22fb459dd6695b648889.zip  | |
tg3: fix MMIO for PPC 44x platforms
The driver stores the PCI resource addresses into 'unsigned long' variable
before calling ioremap_nocache() on them. This warrants kernel oops when the
registers are accessed on PPC 44x platforms which (being 32-bit) have PCI
memory space mapped beyond 4 GB.
The arch/ppc/ kernel has a fixup in ioremap() that creates an illusion that
the PCI memory resource is mapped below 4 GB, but arch/powerpc/ code got rid
of this trick, having instead CONFIG_RESOURCES_64BIT enabled.
[ Bump driver version and release date -DaveM ]
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/tg3.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index d4655b2d1f3..96043c5746d 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -64,8 +64,8 @@  #define DRV_MODULE_NAME		"tg3"  #define PFX DRV_MODULE_NAME	": " -#define DRV_MODULE_VERSION	"3.89" -#define DRV_MODULE_RELDATE	"April 03, 2008" +#define DRV_MODULE_VERSION	"3.90" +#define DRV_MODULE_RELDATE	"April 12, 2008"  #define TG3_DEF_MAC_MODE	0  #define TG3_DEF_RX_MODE		0 @@ -12578,7 +12578,8 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,  				  const struct pci_device_id *ent)  {  	static int tg3_version_printed = 0; -	unsigned long tg3reg_base, tg3reg_len; +	resource_size_t tg3reg_base; +	unsigned long tg3reg_len;  	struct net_device *dev;  	struct tg3 *tp;  	int err, pm_cap;  |