[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bbe4ae16-86b3-4629-b5e0-c704881fe5cb@davidgow.net>
Date: Sat, 16 Sep 2023 10:21:53 +0800
From: David Gow <david@...idgow.net>
To: Niklas Cassel <Niklas.Cassel@....com>
Cc: Damien Le Moal <dlemoal@...nel.org>,
Bagas Sanjaya <bagasdotme@...il.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
patenteng <dimitar@...kalov.co.uk>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Regressions <regressions@...ts.linux.dev>,
Linux IDE and libata <linux-ide@...r.kernel.org>,
Linux PCI <linux-pci@...r.kernel.org>
Subject: Re: Fwd: Kernel 6.5.2 Causes Marvell Technology Group 88SE9128 PCIe
SATA to Constantly Reset
Le 2023/09/16 à 0:20, Niklas Cassel a écrit :
> On Fri, Sep 15, 2023 at 08:26:58PM +0800, David Gow wrote:
>> In any case, the bisect is done:
>>
>> 624885209f31eb9985bf51abe204ecbffe2fdeea is the first bad commit
>> commit 624885209f31eb9985bf51abe204ecbffe2fdeea
>> Author: Damien Le Moal <dlemoal@...nel.org>
>> Date: Thu May 11 03:13:41 2023 +0200
>>
>> scsi: core: Detect support for command duration limits
>>
>> Introduce the function scsi_cdl_check() to detect if a device supports
>> command duration limits (CDL). Support for the READ 16, WRITE 16, READ
>> 32
>> and WRITE 32 commands are checked using the function
>> scsi_report_opcode()
>> to probe the rwcdlp and cdlp bits as they indicate the mode page
>> defining
>> the command duration limits descriptors that apply to the command being
>> tested.
>>
>> If any of these commands support CDL, the field cdl_supported of struct
>> scsi_device is set to 1 to indicate that the device supports CDL.
>>
>> Support for CDL for a device is advertizes through sysfs using the new
>> cdl_supported device attribute. This attribute value is 1 for a device
>> supporting CDL and 0 otherwise.
>>
>> Signed-off-by: Damien Le Moal <dlemoal@...nel.org>
>> Reviewed-by: Hannes Reinecke <hare@...e.de>
>> Co-developed-by: Niklas Cassel <niklas.cassel@....com>
>> Signed-off-by: Niklas Cassel <niklas.cassel@....com>
>> Link: https://lore.kernel.org/r/20230511011356.227789-9-nks@flawful.org
>> Signed-off-by: Martin K. Petersen <martin.petersen@...cle.com>
>>
>> Documentation/ABI/testing/sysfs-block-device | 9 ++++
>> drivers/scsi/scsi.c | 81
>> ++++++++++++++++++++++++++++
>> drivers/scsi/scsi_scan.c | 3 ++
>> drivers/scsi/scsi_sysfs.c | 2 +
>> include/scsi/scsi_device.h | 3 ++
>> 5 files changed, 98 insertions(+)
>>
>>
>> This seems to match what was found on the Arch Linux forums, too:
>> https://bbs.archlinux.org/viewtopic.php?id=288723&p=3
>>
>> I haven't tried it yet, but according to that forum thread, removing the
>> calls to scsi_cdl_check() seems to resolve the issue. This is all well
>> beyond my SCSI knowledge, but maybe a quirk to disable these CDL checks for
>> these older marvell controllers is required? Though it seems odd that the
>> device would be rescanned and/or scsi_add_lun called multiple times a second
>> -- is that normal?
>>
>> In any case, this seems to be the cause.
>
> Hello David,
>
> Thank you very much for your effort of bisecting this.
>
> Could you please try this patch and see if it improves things for you:
> https://lore.kernel.org/linux-scsi/20230915022034.678121-1-dlemoal@kernel.org/
>
Thanks very much: this seems to fix it here (on top of torvalds/master).
Cheers,
-- David
Powered by blists - more mailing lists