From c3efd56b2d1a94d5e0f9bf84f8b0a809421e9d1f Mon Sep 17 00:00:00 2001 From: Karsten Keil Date: Nov 21 2008 16:08:25 +0000 Subject: - patches.drivers/ixgbe-sfp.patch: include additional fixes from Intel (bnc#442411) --- diff --git a/kernel-source.changes b/kernel-source.changes index ddc7a10..f9b432e 100644 --- a/kernel-source.changes +++ b/kernel-source.changes @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Fri Nov 21 17:06:39 CET 2008 - kkeil@suse.de + +- patches.drivers/ixgbe-sfp.patch: include additional fixes from + Intel (bnc#442411) + +------------------------------------------------------------------- Fri Nov 21 16:50:40 CET 2008 - kkeil@suse.de - patches.fixes/igb_ethtool.patch: add missing ethtool hooks diff --git a/patches.drivers/ixgbe-sfp.patch b/patches.drivers/ixgbe-sfp.patch index b90f052..a516b86 100644 --- a/patches.drivers/ixgbe-sfp.patch +++ b/patches.drivers/ixgbe-sfp.patch @@ -354,7 +354,7 @@ Index: linux-2.6.27/drivers/net/ixgbe/ixgbe_main.c * ixgbe_sw_init - Initialize general software structures (struct ixgbe_adapter) * @adapter: board private structure to initialize * -@@ -4002,11 +4058,29 @@ static int __devinit ixgbe_probe(struct +@@ -4002,11 +4058,30 @@ static int __devinit ixgbe_probe(struct /* PHY */ memcpy(&hw->phy.ops, ii->phy_ops, sizeof(hw->phy.ops)); @@ -380,13 +380,14 @@ Index: linux-2.6.27/drivers/net/ixgbe/ixgbe_main.c + } else if (err == IXGBE_ERR_SFP_NOT_SUPPORTED) { + DPRINTK(PROBE, ERR, "failed to load because an " + "unsupported SFP+ module type was detected.\n"); ++ goto err_hw_init; + } else if (err) { goto err_hw_init; + } /* setup the private structure */ err = ixgbe_sw_init(adapter); -@@ -4144,6 +4218,9 @@ err_hw_init: +@@ -4144,6 +4219,9 @@ err_hw_init: err_sw_init: ixgbe_reset_interrupt_capability(adapter); err_eeprom: @@ -396,7 +397,7 @@ Index: linux-2.6.27/drivers/net/ixgbe/ixgbe_main.c iounmap(hw->hw_addr); err_ioremap: free_netdev(netdev); -@@ -4170,8 +4247,13 @@ static void __devexit ixgbe_remove(struc +@@ -4170,8 +4248,13 @@ static void __devexit ixgbe_remove(struc struct ixgbe_adapter *adapter = netdev_priv(netdev); set_bit(__IXGBE_DOWN, &adapter->state); @@ -411,6 +412,16 @@ Index: linux-2.6.27/drivers/net/ixgbe/ixgbe_main.c flush_scheduled_work(); #if defined(CONFIG_DCA) || defined(CONFIG_DCA_MODULE) +@@ -4182,7 +4265,8 @@ static void __devexit ixgbe_remove(struc + } + + #endif +- unregister_netdev(netdev); ++ if (netdev->reg_state == NETREG_REGISTERED) ++ unregister_netdev(netdev); + + ixgbe_reset_interrupt_capability(adapter); + Index: linux-2.6.27/drivers/net/ixgbe/ixgbe_phy.c =================================================================== --- linux-2.6.27.orig/drivers/net/ixgbe/ixgbe_phy.c