[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