DF-4078 / fix.diff
--- a/sys/dev/raid/mps/mps.c +++ b/sys/dev/raid/mps/mps.c @@ mps_reinit @@ /* restart will reload the event masks clobbered by the reset, and * then enable the port. */ - mps_reregister_events(sc); + if (mps_reregister_events(sc) != 0) + mps_printf(sc, "%s event re-registration failed; " + "port enable may never fire\n", __func__); @@ mps_reregister_events @@ error = mps_map_command(sc, cm); + if (error == EINPROGRESS) + error = 0; mps_dprint(sc, MPS_TRACE, "%s finished with error %d\n", __func__, error); @@ mps_read_config_page @@ } else { - error = mps_wait_command(sc, cm, 0); + error = mps_wait_command(sc, cm, 60); |