summaryrefslogtreecommitdiffstats
path: root/sys/dev/mrsas/mrsas.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mrsas/mrsas.c')
-rw-r--r--sys/dev/mrsas/mrsas.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/mrsas/mrsas.c b/sys/dev/mrsas/mrsas.c
index 6f63c6e..a11c5e9 100644
--- a/sys/dev/mrsas/mrsas.c
+++ b/sys/dev/mrsas/mrsas.c
@@ -811,6 +811,7 @@ mrsas_attach(device_t dev)
{
struct mrsas_softc *sc = device_get_softc(dev);
uint32_t cmd, bar, error;
+ struct cdev *linux_dev;
/* Look up our softc and initialize its fields. */
sc->mrsas_dev = dev;
@@ -870,7 +871,8 @@ mrsas_attach(device_t dev)
GID_OPERATOR, (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP), "mrsas%u",
device_get_unit(dev));
if (device_get_unit(dev) == 0)
- make_dev_alias(sc->mrsas_cdev, "megaraid_sas_ioctl_node");
+ make_dev_alias_p(MAKEDEV_CHECKNAME, &linux_dev, sc->mrsas_cdev,
+ "megaraid_sas_ioctl_node");
if (sc->mrsas_cdev)
sc->mrsas_cdev->si_drv1 = sc;
@@ -2715,6 +2717,7 @@ mrsas_reset_ctrl(struct mrsas_softc *sc)
"resetting adapter from %s.\n",
__func__);
/* Now return commands back to the CAM layer */
+ mtx_unlock(&sc->sim_lock);
for (i = 0; i < sc->max_fw_cmds; i++) {
mpt_cmd = sc->mpt_cmd_list[i];
if (mpt_cmd->ccb_ptr) {
@@ -2724,6 +2727,7 @@ mrsas_reset_ctrl(struct mrsas_softc *sc)
mrsas_atomic_dec(&sc->fw_outstanding);
}
}
+ mtx_lock(&sc->sim_lock);
status_reg = mrsas_read_reg(sc, offsetof(mrsas_reg_set,
outbound_scratch_pad));
OpenPOWER on IntegriCloud