During initialization of some variants of 82571EB there is a NULL
pointer deref when accessing the check_reset_block() PHY operation.

Fix it by checking for NULL-ness explicitely.

Signed-off-by: Holger Eitzenberger <[email protected]>

Index: e1000e-1.11.3/src/netdev.c
===================================================================
--- e1000e-1.11.3.orig/src/netdev.c
+++ e1000e-1.11.3/src/netdev.c
@@ -7142,7 +7142,7 @@ static int __devinit e1000_probe(struct
                adapter->hw.phy.ms_type = e1000_ms_hw_default;
        }
 
-       if (hw->phy.ops.check_reset_block(hw))
+       if (hw->phy.ops.check_reset_block && hw->phy.ops.check_reset_block(hw))
                e_info("PHY reset is blocked due to SOL/IDER session.\n");
 
        /* Set initial default active device features */
Index: e1000e-1.11.3/src/mac.c
===================================================================
--- e1000e-1.11.3.orig/src/mac.c
+++ e1000e-1.11.3/src/mac.c
@@ -750,7 +750,7 @@ s32 e1000e_setup_link_generic(struct e10
         * In the case of the phy reset being blocked, we already have a link.
         * We do not need to set it up again.
         */
-       if (hw->phy.ops.check_reset_block(hw))
+       if (hw->phy.ops.check_reset_block && hw->phy.ops.check_reset_block(hw))
                return 0;
 
        /*

-- 

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to