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