On Mon, 2012-04-16 at 16:34 -0700, Tom Rini wrote: > On 04/16/2012 04:12 PM, Dan Williams wrote: > > On Mon, Apr 16, 2012 at 3:42 PM, Tom Rini<trini@xxxxxx> wrote: > >> Hey all, > >> > >> I have an OCZ RevoDrive3 X2 (which the mvsas driver works for). I've > >> been running mainline since support for my card was added and I just > >> went to test 3.3-rc4. Unpatched I get some sort of recursive fault that > > > > I assume this was supposed to be 3.4-rc3? > > Yes, sorry. > > >> locks up the system. When I revert a692b0e (which I found with a git > >> bisect) things are working as expected again. What info do you need > >> from me to work out the right solution here? Thanks! > > > > Can you post the kernel log of the fault (starting at the first sign > > of trouble)? > > > > I suspect it's one of the known regression fixes [1], but would like > > to double check. > > I merged those changes in and the problem is now non-fatal but now I'm > missing 2 of the 4 drives on the card. Portion of dmesg is at > http://pastebin.com/36K7xwHK and I can email it if needed. > Thanks, yes it looks like a new regression. Can you tell me if the following fixes it? --- mvsas: fix local port name regression Commit a692b0e "[SCSI] libsas: fix sas port naming" added a dependency on lldds filling out the id field of registered phys. Add this for mvsas. Note we do this in the lldd rather than the core to allow it the control of mapping physical phy id to the libsas phy index. Reported-by: Tom Rini <trini@xxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> --- drivers/scsi/mvsas/mv_init.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c index cc59dff..556fa6c 100644 --- a/drivers/scsi/mvsas/mv_init.c +++ b/drivers/scsi/mvsas/mv_init.c @@ -447,7 +447,7 @@ static int pci_go_64(struct pci_dev *pdev) static int __devinit mvs_prep_sas_ha_init(struct Scsi_Host *shost, const struct mvs_chip_info *chip_info) { - int phy_nr, port_nr; unsigned short core_nr; + int i, phy_nr, port_nr; unsigned short core_nr; struct asd_sas_phy **arr_phy; struct asd_sas_port **arr_port; struct sas_ha_struct *sha = SHOST_TO_SAS_HA(shost); @@ -462,6 +462,9 @@ static int __devinit mvs_prep_sas_ha_init(struct Scsi_Host *shost, if (!arr_phy || !arr_port) goto exit_free; + for (i = 0; i < phy_nr; i++) + arr_phy[i]->id = i; + sha->sas_phy = arr_phy; sha->sas_port = arr_port; sha->core.shost = shost; -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html