Re: [PATCH] mvsas: mvs_lu_reset iterates phy num times when releasing task

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

 



Thanks for your answer, I was just asking because this driver is used by an inexpensive and quite popular SAS/SATA controller (Supermicro AOC-SASLP-MV8), but unfortunately nobody has responded to the various reports of bugs and general instability.

I am willing to do my part in helping out, including testing patches and maybe a small donation to a developer.


On 6/8/2010 10:01 μμ, David Milburn wrote:
Konstantinos Skarlatos wrote:
 Hello,

Does this patch fix any of the mvs_abort_task:rc= 5 and the other problems that are being reported for this driver? for more info please see http://marc.info/?l=linux-scsi&m=127583131805429&w=2

No, these problems begin with the warning from ata_qc_issue,
it says that a non-NCQ command is being issued, but there is
an active NCQ command on the link.

BTW, I should have added:

Reported-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx>

David


On 6/8/2010 7:16 μμ, David Milburn wrote:
mvs_lu_reset should not call mvs_release_task phy number of times,
each phy is handled in mvs_release_task.

Signed-off-by: David Milburn<dmilburn@xxxxxxxxxx>
Cc: Stanislaw Gruszka<sgruszka@xxxxxxxxxx>
Cc: Srinivas<satyasrinivasp@xxxxxx>
Cc: Andy Yan<ayan@xxxxxxxxxxx>
---
  drivers/scsi/mvsas/mv_sas.c |    6 ++----
  1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c
index adedaa9..013ab8d 100644
--- a/drivers/scsi/mvsas/mv_sas.c
+++ b/drivers/scsi/mvsas/mv_sas.c
@@ -1551,7 +1551,7 @@ static int mvs_debug_I_T_nexus_reset(struct domain_device *dev)
  int mvs_lu_reset(struct domain_device *dev, u8 *lun)
  {
      unsigned long flags;
-    int i, phyno[WIDE_PORT_MAX_PHY], num , rc = TMF_RESP_FUNC_FAILED;
+    int rc = TMF_RESP_FUNC_FAILED;
      struct mvs_tmf_task tmf_task;
      struct mvs_device * mvi_dev = dev->lldd_dev;
      struct mvs_info *mvi = mvi_dev->mvi_info;
@@ -1560,10 +1560,8 @@ int mvs_lu_reset(struct domain_device *dev, u8 *lun)
      mvi_dev->dev_status = MVS_DEV_EH;
      rc = mvs_debug_issue_ssp_tmf(dev, lun,&tmf_task);
      if (rc == TMF_RESP_FUNC_COMPLETE) {
-        num = mvs_find_dev_phyno(dev, phyno);
          spin_lock_irqsave(&mvi->lock, flags);
-        for (i = 0; i<  num; i++)
-            mvs_release_task(mvi, dev);
+        mvs_release_task(mvi, dev);
          spin_unlock_irqrestore(&mvi->lock, flags);
      }
      /* If failed, fall-through I_T_Nexus reset */
--
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



--
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