⬢ DragonFlyBSD Kernel Audit
DF-3728 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/raid/ciss/ciss.c
+++ b/sys/dev/raid/ciss/ciss.c
@@ -3620,11 +3620,12 @@
 	(command_status != CISS_CMD_STATUS_TARGET_STATUS) &&
 	(command_status != CISS_CMD_STATUS_TIMEOUT)) {	/* XXX timeout? */
 	ciss_printf(sc, "fatal error in Notify Event request (%s)\n",
 		    ciss_name_command_status(command_status));
-	ciss_release_request(cr);
-	sc->ciss_flags &= ~CISS_FLAG_NOTIFY_OK;
-	return;
+	sc->ciss_periodic_notify = NULL;	/* avoid dangling pointer */
+	ciss_release_request(cr);
+	sc->ciss_flags &= ~CISS_FLAG_NOTIFY_OK;
+	return;
     }
 
     /*
      * If the adapter gave us a text message, print it.