Re: Commit a692b0e broke my mvsas card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux