Page MenuHomeFreeBSD

qlnx: fix panic at startup
ClosedPublic

Authored by kp on Thu, Jun 12, 4:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Jul 3, 5:24 PM
Unknown Object (File)
Tue, Jul 1, 5:57 AM
Unknown Object (File)
Mon, Jun 30, 8:52 AM
Unknown Object (File)
Sun, Jun 29, 9:34 PM
Unknown Object (File)
Fri, Jun 27, 2:14 AM
Unknown Object (File)
Tue, Jun 24, 5:51 PM
Unknown Object (File)
Mon, Jun 23, 5:03 PM
Unknown Object (File)
Mon, Jun 23, 7:00 AM
Subscribers

Details

Summary

While attaching the qlnx driver we can end up trying to call ifmedia functions
before those are set up (through ether_ifattach() -> rtnl_handle_ifattach()
-> dump_iface() -> get_operstate_ether() -> ifmedia_ioctl()). Postpone the
ether_ifattach() until after the ifmedia setup.

Sponsored by: Rubicon Communications, LLC ("Netgate")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 64821
Build 61704: arc lint + arc unit

Event Timeline

kp requested review of this revision.Thu, Jun 12, 4:59 PM
This revision is now accepted and ready to land.Thu, Jun 12, 8:02 PM
zlei added a subscriber: zlei.
zlei added inline comments.
sys/dev/qlnx/qlnxe/qlnx_os.c
2366

Indeed ether_ifattach() will override if_hdrlen, but I think that is probably wrong design and have WIP fix for that.

There're lots of drivers set if_hdrlen after ether_ifattach() and I'll fix them all individually.

This revision was automatically updated to reflect the committed changes.