Bug #7707
closedixgbe crashes on debug builds when it fails to attach
100%
Description
When ixgbe fails to map registers, due to 64-bit addresses being used for example, it will end up panicking by blowing an assertion when it calls ddi_cb_unregister(). ddi_cb_unrgister() is asserting that the handle is not NULL. However, in this case, we've never called ddi_cb_register() because we failed to map our registers.
ddi_cb_unregister() is a little bit different in that it does actually explicitly handle the case where the entry is not NULL; however, I believe the assertion is there for the same reason that the !servicing_interrupt() one is there. Mainly that it's trying to help folks who are on debug builds who would normally cast these errors to void and drive on and therefore we shouldn't remove this assertion, but instead fix it.
Updated by Electric Monk over 5 years ago
- Status changed from New to Closed
git commit 895d6e020017428ea020dda826e399f341a20c37
commit 895d6e020017428ea020dda826e399f341a20c37 Author: Robert Mustacchi <rm@joyent.com> Date: 2017-01-03T01:23:00.000Z 7707 ixgbe crashes on debug builds when it fails to attach Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Reviewed by: Ryan Zezeski <ryan.zeseski@joyent.com> Reviewed by: Joshua M. Clulow <jmc@joyent.com> Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Dale Ghent <daleg@omniti.com> Approved by: Gordon Ross <gordon.w.ross@gmail.com>