LSI 1030 mpt doesn't work if I build a new kernel

Matthew Jacob lydianconcepts at gmail.com
Fri Sep 1 20:10:57 PDT 2006


All who are having this issue- try the attached patch and see if it helps.
-------------- next part --------------
@@ -1640,13 +1651,26 @@
 			hdr->PageType & MPI_CONFIG_PAGETYPE_MASK);
 		return (-1);
 	}
-	hdr->PageType &= MPI_CONFIG_PAGETYPE_MASK,
+
+#if	0
+	/*
+	 * We shouldn't mask off other bits here.
+	 */
+	hdr->PageType &= MPI_CONFIG_PAGETYPE_MASK;
+#endif
 
 	req = mpt_get_request(mpt, sleep_ok);
 	if (req == NULL)
 		return (-1);
 
-	memcpy(((caddr_t)req->req_vbuf)+MPT_RQSL(mpt), hdr, len);
+	memcpy(((caddr_t)req->req_vbuf) + MPT_RQSL(mpt), hdr, len);
+
+	/*
+	 * There isn't any point in restoring stripped out attributes
+	 * if you then mask them going down to issue the request.
+	 */
+
+#if	0
 	/* Restore stripped out attributes */
 	hdr->PageType |= hdr_attr;
 
@@ -1655,6 +1679,13 @@
 				  hdr->PageType & MPI_CONFIG_PAGETYPE_MASK,
 				  PageAddress, req->req_pbuf + MPT_RQSL(mpt),
 				  len, sleep_ok, timeout_ms);
+#else
+	error = mpt_issue_cfg_req(mpt, req, Action, hdr->PageVersion,
+				  hdr->PageLength, hdr->PageNumber,
+				  hdr->PageType, PageAddress,
+				  req->req_pbuf + MPT_RQSL(mpt),
+				  len, sleep_ok, timeout_ms);
+#endif
 	if (error != 0) {
 		mpt_prt(mpt, "mpt_write_cfg_page timed out\n");
 		return (-1);


More information about the freebsd-current mailing list