[gPXE-devel] [PATCH] Re-enable management mode checks on e1000e

Marty Connor mdc at etherboot.org
Thu May 27 20:36:09 EDT 2010


On 5/27/10 8:04 PM, Joshua Oreman wrote:
> On Thu, May 27, 2010 at 4:29 PM, Geoff Lywood <glywood at vmware.com> wrote:
>> Currently the e1000e driver will crash when the 80003es2lan code attempts to
>> call hw->mac.ops.check_mng_mode(), because that function pointer is never
>> initialized. This patch makes sure that check_mng_mode is set for every type
>> of PHY.
>>
>> I am open to suggestions for other ways to solve this problem. I do not
>> really understand why the management mode checks were commented out in the
>> first place.
> 
> Adding Marty on CC, as he's the one who ported the driver. I suspect
> this was simply a case of overzealous feature removal (as most of the
> e1000e's features are unnecessary in gPXE); might it be possible
> instead to remove the need to check for management mode?
> 
> -- Josh

Yes, I missed removing some calls to hw->mac.ops.check_mng_mode() .
There are a number of places that do something like:

           if (!(hw->mac.ops.check_mng_mode(hw))) {

Since we reset and initialize the NIC in our probe() machine, I'm pretty
sure that we don't need to worry about manageability mode.

To save code size a lot of code such as statistics, various offloading
capabilities, and extraneous features were #if 0'd out.  This enabled us
to get almost all the .rom images to fit in 64K without sacrificing too
many gPXE features.

Doing a quick grep I see a number of places that need fixing up.  Thanks
a lot for pointing this out.  Could you try eliminating the two calls to
"hw->mac.ops.check_mng_mode(hw)" and see if that works?

I see the same problem in some of the other e1000 variants, so we'll
need to correct them too.

Thanks a lot for tracking this down!

/ Marty /




More information about the gPXE-devel mailing list