Disks can go missing until a reboot is done in some cases.
This is due to the DevHandle not being released, which causes the Firmware to not allow that disk to be re-added. Reviewed by: ken, scottl, ambrisko, asomers Approved by: ken, scottl, ambrisko MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D6102
This commit is contained in:
parent
c299ac9344
commit
0a5339fd05
@ -377,10 +377,8 @@ mprsas_remove_volume(struct mpr_softc *sc, struct mpr_command *tm)
|
||||
|
||||
if ((le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK) !=
|
||||
MPI2_IOCSTATUS_SUCCESS) {
|
||||
mpr_dprint(sc, MPR_FAULT, "IOCStatus = 0x%x while resetting "
|
||||
mpr_dprint(sc, MPR_ERROR, "IOCStatus = 0x%x while resetting "
|
||||
"device 0x%x\n", le16toh(reply->IOCStatus), handle);
|
||||
mprsas_free_tm(sc, tm);
|
||||
return;
|
||||
}
|
||||
|
||||
mpr_dprint(sc, MPR_XINFO, "Reset aborted %u commands\n",
|
||||
@ -566,8 +564,6 @@ mprsas_remove_device(struct mpr_softc *sc, struct mpr_command *tm)
|
||||
mpr_dprint(sc, MPR_ERROR, "%s: cm_flags = %#x for remove of "
|
||||
"handle %#04x! This should not happen!\n", __func__,
|
||||
tm->cm_flags, handle);
|
||||
mprsas_free_tm(sc, tm);
|
||||
return;
|
||||
}
|
||||
|
||||
if (reply == NULL) {
|
||||
@ -580,10 +576,8 @@ mprsas_remove_device(struct mpr_softc *sc, struct mpr_command *tm)
|
||||
|
||||
if ((le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK) !=
|
||||
MPI2_IOCSTATUS_SUCCESS) {
|
||||
mpr_dprint(sc, MPR_FAULT, "IOCStatus = 0x%x while resetting "
|
||||
mpr_dprint(sc, MPR_ERROR, "IOCStatus = 0x%x while resetting "
|
||||
"device 0x%x\n", le16toh(reply->IOCStatus), handle);
|
||||
mprsas_free_tm(sc, tm);
|
||||
return;
|
||||
}
|
||||
|
||||
mpr_dprint(sc, MPR_XINFO, "Reset aborted %u commands\n",
|
||||
|
Loading…
Reference in New Issue
Block a user