Fixed isses:

State check before enqueuing transmit task in bxe_link_attn() routine.
 State check before invoking bxe_nic_unload in bxe_shutdown().

Submitted by:Vaishali.Kulkarni@cavium.com
Approved by:re(gjb)
This commit is contained in:
David C Somayajulu 2018-09-17 20:15:18 +00:00
parent a408841593
commit 9d50798c61
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=338734

View File

@ -7076,13 +7076,13 @@ bxe_link_attn(struct bxe_softc *sc)
if (sc->state == BXE_STATE_OPEN) {
bxe_stats_handle(sc, STATS_EVENT_LINK_UP);
/* Restart tx when the link comes back. */
FOR_EACH_ETH_QUEUE(sc, i) {
fp = &sc->fp[i];
taskqueue_enqueue(fp->tq, &fp->tx_task);
}
}
/* Restart tx when the link comes back. */
FOR_EACH_ETH_QUEUE(sc, i) {
fp = &sc->fp[i];
taskqueue_enqueue(fp->tq, &fp->tx_task);
}
}
if (sc->link_vars.link_up && sc->link_vars.line_speed) {
@ -16279,9 +16279,11 @@ bxe_shutdown(device_t dev)
/* stop the periodic callout */
bxe_periodic_stop(sc);
BXE_CORE_LOCK(sc);
bxe_nic_unload(sc, UNLOAD_NORMAL, FALSE);
BXE_CORE_UNLOCK(sc);
if (sc->state != BXE_STATE_CLOSED) {
BXE_CORE_LOCK(sc);
bxe_nic_unload(sc, UNLOAD_NORMAL, FALSE);
BXE_CORE_UNLOCK(sc);
}
return (0);
}