2023-04-22 13:39:27

by Yahu Gao

[permalink] [raw]
Subject: [PATCH v2] ata: libata-core: Simplies if condition

From: Yahu Gao <[email protected]>

Replace conditions of avoid issuing [P]IDENTIFY to PMP.

Reviewed-by: Jiwei Sun <[email protected]>
Signed-off-by: Yahu Gao <[email protected]>

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 14c17c3bda4e..53f65d751189 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3802,11 +3802,7 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
return -ENODEV;

/* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */
- if (ata_class_enabled(new_class) &&
- new_class != ATA_DEV_ATA &&
- new_class != ATA_DEV_ATAPI &&
- new_class != ATA_DEV_ZAC &&
- new_class != ATA_DEV_SEMB) {
+ if (new_class == ATA_DEV_PMP) {
ata_dev_info(dev, "class mismatch %u != %u\n",
dev->class, new_class);
rc = -ENODEV;
--
2.39.1


2023-04-28 01:59:18

by Yahu Gao

[permalink] [raw]
Subject: Re: [PATCH v2] ata: libata-core: Simplies if condition

ping ...

在 2023/4/22 20:14, Yahu Gao 写道:
> From: Yahu Gao <[email protected]>
>
> Replace conditions of avoid issuing [P]IDENTIFY to PMP.
>
> Reviewed-by: Jiwei Sun <[email protected]>
> Signed-off-by: Yahu Gao <[email protected]>
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 14c17c3bda4e..53f65d751189 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -3802,11 +3802,7 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
> return -ENODEV;
>
> /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */
> - if (ata_class_enabled(new_class) &&
> - new_class != ATA_DEV_ATA &&
> - new_class != ATA_DEV_ATAPI &&
> - new_class != ATA_DEV_ZAC &&
> - new_class != ATA_DEV_SEMB) {
> + if (new_class == ATA_DEV_PMP) {
> ata_dev_info(dev, "class mismatch %u != %u\n",
> dev->class, new_class);
> rc = -ENODEV;

2023-04-28 09:53:02

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] ata: libata-core: Simplies if condition

On 4/28/23 10:53, Yahu Gao wrote:
> ping ...
>
> 在 2023/4/22 20:14, Yahu Gao 写道:
>> From: Yahu Gao <[email protected]>
>>
>> Replace conditions of avoid issuing [P]IDENTIFY to PMP.
>>
>> Reviewed-by: Jiwei Sun <[email protected]>
>> Signed-off-by: Yahu Gao <[email protected]>
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 14c17c3bda4e..53f65d751189 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3802,11 +3802,7 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
>> return -ENODEV;
>>
>> /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */
>> - if (ata_class_enabled(new_class) &&
>> - new_class != ATA_DEV_ATA &&
>> - new_class != ATA_DEV_ATAPI &&
>> - new_class != ATA_DEV_ZAC &&
>> - new_class != ATA_DEV_SEMB) {
>> + if (new_class == ATA_DEV_PMP) {
>> ata_dev_info(dev, "class mismatch %u != %u\n",
>> dev->class, new_class);
>> rc = -ENODEV;

Merge window is on-going, so I will not queue this right now. Also I need to
check this as you remove the call to ata_class_enabled() and I am not 100%
convinced that it is correct.

2023-05-14 23:25:29

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH v2] ata: libata-core: Simplies if condition

On 4/28/23 10:53, Yahu Gao wrote:
> ping ...
>
> 在 2023/4/22 20:14, Yahu Gao 写道:
>> From: Yahu Gao <[email protected]>
>>
>> Replace conditions of avoid issuing [P]IDENTIFY to PMP.

Please be a little more descriptive. Something like:

Simplify the condition used in ata_dev_revalidate() to not issue identify
commands to port multiplier devices.

would be better.

>>
>> Reviewed-by: Jiwei Sun <[email protected]>

Where does this review come from ? I have never seen an email for it. I cannot
accept this tag without seeing the email for it.

>> Signed-off-by: Yahu Gao <[email protected]>
>>
>> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
>> index 14c17c3bda4e..53f65d751189 100644
>> --- a/drivers/ata/libata-core.c
>> +++ b/drivers/ata/libata-core.c
>> @@ -3802,11 +3802,7 @@ int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
>> return -ENODEV;
>>
>> /* fail early if !ATA && !ATAPI to avoid issuing [P]IDENTIFY to PMP */
>> - if (ata_class_enabled(new_class) &&

Please keep the above "ata_class_enabled(new_class) &&" condition:

if (ata_class_enabled(new_class) && new_class == ATA_DEV_PMP) {

While keeping this condition is logically not necessary, having it makes the
code easier to understand.

>> - new_class != ATA_DEV_ATA &&
>> - new_class != ATA_DEV_ATAPI &&
>> - new_class != ATA_DEV_ZAC &&
>> - new_class != ATA_DEV_SEMB) {
>> + if (new_class == ATA_DEV_PMP) {
>> ata_dev_info(dev, "class mismatch %u != %u\n",
>> dev->class, new_class);
>> rc = -ENODEV;