[BK PATCHES] 2.6.x net driver oops fixes

9 messages, 4 authors, 2005-03-11 · open the first message on its own page

[BK PATCHES] 2.6.x net driver oops fixes

From: Jeff Garzik <hidden>
Date: 2005-03-09 20:35:58

(no body)

Re: [stable] [BK PATCHES] 2.6.x net driver oops fixes

From: Chris Wright <hidden>
Date: 2005-03-10 20:30:41

* Jeff Garzik (jgarzik@pobox.com) wrote:
This will update the following files:

 drivers/net/sis900.c    |   41 +++++++++++++++++++++--------------------
 drivers/net/via-rhine.c |    3 +++
The via-rhine fix is already in the stable queue.  But the sis900 oops
fix does not apply to the stable tree.  It relies on a few intermediate
patches.  Appears to still be an issue for the older version which is in
2.6.11.  Here's a stab at a backport.  Would you like to review/validate
or drop this one?

thanks,
-chris

===== drivers/net/sis900.c 1.62 vs edited =====
--- 1.62/drivers/net/sis900.c	2005-01-10 08:52:27 -08:00
+++ edited/drivers/net/sis900.c	2005-03-10 12:23:49 -08:00
@@ -236,7 +236,7 @@ static int __devinit sis900_get_mac_addr
 	signature = (u16) read_eeprom(ioaddr, EEPROMSignature);    
 	if (signature == 0xffff || signature == 0x0000) {
 		printk (KERN_INFO "%s: Error EERPOM read %x\n", 
-			net_dev->name, signature);
+			pci_name(pci_dev), signature);
 		return 0;
 	}
 
@@ -268,7 +268,7 @@ static int __devinit sis630e_get_mac_add
 	if (!isa_bridge)
 		isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0018, isa_bridge);
 	if (!isa_bridge) {
-		printk("%s: Can not find ISA bridge\n", net_dev->name);
+		printk("%s: Can not find ISA bridge\n", pci_name(pci_dev));
 		return 0;
 	}
 	pci_read_config_byte(isa_bridge, 0x48, &reg);
@@ -456,10 +456,6 @@ static int __devinit sis900_probe(struct
 	net_dev->tx_timeout = sis900_tx_timeout;
 	net_dev->watchdog_timeo = TX_TIMEOUT;
 	net_dev->ethtool_ops = &sis900_ethtool_ops;
-	
-	ret = register_netdev(net_dev);
-	if (ret)
-		goto err_unmap_rx;
 		
 	/* Get Mac address according to the chip revision */
 	pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &revision);
@@ -476,7 +472,7 @@ static int __devinit sis900_probe(struct
 
 	if (ret == 0) {
 		ret = -ENODEV;
-		goto err_out_unregister;
+		goto err_unmap_rx;
 	}
 	
 	/* 630ET : set the mii access mode as software-mode */
@@ -486,7 +482,7 @@ static int __devinit sis900_probe(struct
 	/* probe for mii transceiver */
 	if (sis900_mii_probe(net_dev) == 0) {
 		ret = -ENODEV;
-		goto err_out_unregister;
+		goto err_unmap_rx;
 	}
 
 	/* save our host bridge revision */
@@ -496,6 +492,10 @@ static int __devinit sis900_probe(struct
 		pci_dev_put(dev);
 	}
 
+	ret = register_netdev(net_dev);
+	if (ret)
+		goto err_unmap_rx;
+
 	/* print some information about our NIC */
 	printk(KERN_INFO "%s: %s at %#lx, IRQ %d, ", net_dev->name,
 	       card_name, ioaddr, net_dev->irq);
@@ -505,8 +505,6 @@ static int __devinit sis900_probe(struct
 
 	return 0;
 
- err_out_unregister:
- 	unregister_netdev(net_dev);
  err_unmap_rx:
 	pci_free_consistent(pci_dev, RX_TOTAL_SIZE, sis_priv->rx_ring,
 		sis_priv->rx_ring_dma);
@@ -533,6 +531,7 @@ static int __devinit sis900_probe(struct
 static int __init sis900_mii_probe(struct net_device * net_dev)
 {
 	struct sis900_private * sis_priv = net_dev->priv;
+	const char *dev_name = pci_name(sis_priv->pci_dev);
 	u16 poll_bit = MII_STAT_LINK, status = 0;
 	unsigned long timeout = jiffies + 5 * HZ;
 	int phy_addr;
@@ -582,21 +581,20 @@ static int __init sis900_mii_probe(struc
 					mii_phy->phy_types =
 					    (mii_status & (MII_STAT_CAN_TX_FDX | MII_STAT_CAN_TX)) ? LAN : HOME;
 				printk(KERN_INFO "%s: %s transceiver found at address %d.\n",
-				       net_dev->name, mii_chip_table[i].name,
+				       dev_name, mii_chip_table[i].name,
 				       phy_addr);
 				break;
 			}
 			
 		if( !mii_chip_table[i].phy_id1 ) {
 			printk(KERN_INFO "%s: Unknown PHY transceiver found at address %d.\n",
-			       net_dev->name, phy_addr);
+			       dev_name, phy_addr);
 			mii_phy->phy_types = UNKNOWN;
 		}
 	}
 	
 	if (sis_priv->mii == NULL) {
-		printk(KERN_INFO "%s: No MII transceivers found!\n",
-			net_dev->name);
+		printk(KERN_INFO "%s: No MII transceivers found!\n", dev_name);
 		return 0;
 	}
 
@@ -621,7 +619,7 @@ static int __init sis900_mii_probe(struc
 			poll_bit ^= (mdio_read(net_dev, sis_priv->cur_phy, MII_STATUS) & poll_bit);
 			if (time_after_eq(jiffies, timeout)) {
 				printk(KERN_WARNING "%s: reset phy and link down now\n",
-					net_dev->name);
+				       dev_name);
 				return -ETIME;
 			}
 		}
@@ -691,7 +689,7 @@ static u16 sis900_default_phy(struct net
 		sis_priv->mii = default_phy;
 		sis_priv->cur_phy = default_phy->phy_addr;
 		printk(KERN_INFO "%s: Using transceiver found at address %d as default\n",
-					net_dev->name,sis_priv->cur_phy);
+		       pci_name(sis_priv->pci_dev), sis_priv->cur_phy);
 	}
 	
 	status = mdio_read(net_dev, sis_priv->cur_phy, MII_CONTROL);

Re: [BK PATCHES] 2.6.x net driver oops fixes

From: Greg KH <hidden>
Date: 2005-03-10 20:36:30

On Thu, Mar 10, 2005 at 12:25:48PM -0800, Chris Wright wrote:
* Jeff Garzik (jgarzik@pobox.com) wrote:
quoted
This will update the following files:

 drivers/net/sis900.c    |   41 +++++++++++++++++++++--------------------
 drivers/net/via-rhine.c |    3 +++
The via-rhine fix is already in the stable queue.  But the sis900 oops
fix does not apply to the stable tree.  It relies on a few intermediate
patches.  Appears to still be an issue for the older version which is in
2.6.11.  Here's a stab at a backport.  Would you like to review/validate
or drop this one?
The pci_name() portion of this patch is not necessary for the -stable
tree.  Care to remove it?

thanks,

greg k-h

Re: [stable] [BK PATCHES] 2.6.x net driver oops fixes

From: Jeff Garzik <hidden>
Date: 2005-03-10 20:36:31

Chris Wright wrote:
* Jeff Garzik (jgarzik@pobox.com) wrote:

quoted
This will update the following files:

drivers/net/sis900.c    |   41 +++++++++++++++++++++--------------------
drivers/net/via-rhine.c |    3 +++

The via-rhine fix is already in the stable queue.  But the sis900 oops
fix does not apply to the stable tree.  It relies on a few intermediate
patches.  Appears to still be an issue for the older version which is in
2.6.11.  Here's a stab at a backport.  Would you like to review/validate
or drop this one?
The backport looks correct to me, though it would be nice to get a 
via-rhine owner to ACK the patch before it goes in...

	Jeff

Re: [BK PATCHES] 2.6.x net driver oops fixes

From: Greg KH <hidden>
Date: 2005-03-10 21:36:44

On Thu, Mar 10, 2005 at 12:31:12PM -0800, Greg KH wrote:
On Thu, Mar 10, 2005 at 12:25:48PM -0800, Chris Wright wrote:
quoted
* Jeff Garzik (jgarzik@pobox.com) wrote:
quoted
This will update the following files:

 drivers/net/sis900.c    |   41 +++++++++++++++++++++--------------------
 drivers/net/via-rhine.c |    3 +++
The via-rhine fix is already in the stable queue.  But the sis900 oops
fix does not apply to the stable tree.  It relies on a few intermediate
patches.  Appears to still be an issue for the older version which is in
2.6.11.  Here's a stab at a backport.  Would you like to review/validate
or drop this one?
The pci_name() portion of this patch is not necessary for the -stable
tree.  Care to remove it?
Oh nevermind, I was completly wrong, it's fine.

greg k-h

Re: [stable] [BK PATCHES] 2.6.x net driver oops fixes

From: Chris Wright <hidden>
Date: 2005-03-10 21:41:35

* Jeff Garzik (jgarzik@pobox.com) wrote:
Chris Wright wrote:
quoted
* Jeff Garzik (jgarzik@pobox.com) wrote:

quoted
This will update the following files:

drivers/net/sis900.c    |   41 +++++++++++++++++++++--------------------
drivers/net/via-rhine.c |    3 +++

The via-rhine fix is already in the stable queue.  But the sis900 oops
fix does not apply to the stable tree.  It relies on a few intermediate
patches.  Appears to still be an issue for the older version which is in
2.6.11.  Here's a stab at a backport.  Would you like to review/validate
or drop this one?
The backport looks correct to me, though it would be nice to get a 
via-rhine owner to ACK the patch before it goes in...
OK, thanks.  ITYM sis900 maintainer, is that still Ollie Lho as listed in
MAINTAINERS (that's looking old)?

thanks,
-chris

Re: [stable] [BK PATCHES] 2.6.x net driver oops fixes

From: Daniele Venzano <hidden>
Date: 2005-03-11 19:34:28

On 10/mar/05, at 22:39, Chris Wright wrote:
* Jeff Garzik (jgarzik@pobox.com) wrote:
quoted
Chris Wright wrote:
quoted
* Jeff Garzik (jgarzik@pobox.com) wrote:

quoted
This will update the following files:

drivers/net/sis900.c    |   41 
+++++++++++++++++++++--------------------
drivers/net/via-rhine.c |    3 +++

The via-rhine fix is already in the stable queue.  But the sis900 
oops
fix does not apply to the stable tree.  It relies on a few 
intermediate
patches.  Appears to still be an issue for the older version which 
is in
2.6.11.  Here's a stab at a backport.  Would you like to 
review/validate
or drop this one?
The backport looks correct to me, though it would be nice to get a
via-rhine owner to ACK the patch before it goes in...
OK, thanks.  ITYM sis900 maintainer, is that still Ollie Lho as listed 
in
MAINTAINERS (that's looking old)?
I have been acting maintainer for more than a year now, and I'm 
completely fine with the patch.

A lot of time ago (2.6.6) I proposed a patch to update MAINTAINERS, but 
Jeff said he wanted to wait some time. I don't know if such change is 
now possible/wanted.
AFAIK Ollie's email address bounces.

--
Daniele Venzano
http://www.brownhat.org

Re: [stable] [BK PATCHES] 2.6.x net driver oops fixes

From: Jeff Garzik <hidden>
Date: 2005-03-11 19:40:23

On Fri, Mar 11, 2005 at 08:29:50PM +0100, Daniele Venzano wrote:
I have been acting maintainer for more than a year now, and I'm 
completely fine with the patch.

A lot of time ago (2.6.6) I proposed a patch to update MAINTAINERS, but 
Jeff said he wanted to wait some time. I don't know if such change is 
now possible/wanted.
AFAIK Ollie's email address bounces.
Feel free to send a patch to MAINTAINERS

	Jeff

Re: [stable] [BK PATCHES] 2.6.x net driver oops fixes

From: Chris Wright <hidden>
Date: 2005-03-11 20:12:37

* Daniele Venzano (webvenza@libero.it) wrote:
I have been acting maintainer for more than a year now, and I'm 
completely fine with the patch.
Thanks.
-chris
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help