Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 May 2016 11:01:25 +0000 (UTC)
From:      Kashyap D Desai <kadesai@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r300730 - stable/10/sys/dev/mrsas
Message-ID:  <201605261101.u4QB1P6S097190@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kadesai
Date: Thu May 26 11:01:25 2016
New Revision: 300730
URL: https://svnweb.freebsd.org/changeset/base/300730

Log:
  MFC r284872 - 284873
  
  r284872: Kernel panic may be observed by user, if MR controller is under Chip reset (OCR)
  
  r284873: Counter part of mfi driver commit in mrsas  gracefully fail,
           if the /dev/megaraid_sas_ioctl_node symlink already exists

Modified:
  stable/10/sys/dev/mrsas/mrsas.c
  stable/10/sys/dev/mrsas/mrsas.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/mrsas/mrsas.c
==============================================================================
--- stable/10/sys/dev/mrsas/mrsas.c	Thu May 26 10:55:19 2016	(r300729)
+++ stable/10/sys/dev/mrsas/mrsas.c	Thu May 26 11:01:25 2016	(r300730)
@@ -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;
 
@@ -2712,6 +2714,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) {
@@ -2721,6 +2724,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));

Modified: stable/10/sys/dev/mrsas/mrsas.h
==============================================================================
--- stable/10/sys/dev/mrsas/mrsas.h	Thu May 26 10:55:19 2016	(r300729)
+++ stable/10/sys/dev/mrsas/mrsas.h	Thu May 26 11:01:25 2016	(r300730)
@@ -102,7 +102,7 @@ __FBSDID("$FreeBSD$");
  */
 #define	BYTE_ALIGNMENT					1
 #define	MRSAS_MAX_NAME_LENGTH			32
-#define	MRSAS_VERSION					"06.707.04.03-fbsd"
+#define	MRSAS_VERSION					"06.707.05.00-fbsd"
 #define	MRSAS_ULONG_MAX					0xFFFFFFFFFFFFFFFF
 #define	MRSAS_DEFAULT_TIMEOUT			0x14	/* Temporarily set */
 #define	DONE							0



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605261101.u4QB1P6S097190>