bnx2: Allow phy reset to be skipped during chip reset.
authorMichael Chan <mchan@broadcom.com>
Sat, 17 May 2008 05:17:45 +0000 (22:17 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 17 May 2008 05:17:45 +0000 (22:17 -0700)
commit9a120bc570627342c17befaa6af9b0a556dfda48
treea732ea873d0a963071963833b854dfe17b132013
parentf42a44494bcdf03fc851c03d438464d59c0ceaf5
bnx2: Allow phy reset to be skipped during chip reset.

Andy Gospodarek <andy@greyhouse.net> found that netconsole would
panic when resetting bnx2 devices.

>From Andy:
"The issue is the bnx2_set_link in bnx2_init_nic will print a link-status
message before we are fully initialized and ready to start polling.
Polling is currently disabled in this state, but since the
__LINK_STATE_RX_SCHED is overloaded to not only try and disable polling
but also to make the system aware there is something waiting to be
polled, we really have to fix this in drivers.

The problematic call is the one to netif_rx_complete as it tries to
remove an entry from the poll_list when there isn't one."

While this netconsole problem should be fixed separately, we really
should not reset the PHY when changing ring sizes, MTU, or other
similar settings.  The PHY reset causes several seconds of unnecessary
link disruptions.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Acked-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c