Linux ATA/IDE development
 help / color / mirror / Atom feed
From: Tasos Sahanidis <tasos@tasossah.com>
To: Damien Le Moal <dlemoal@kernel.org>, linux-ide@vger.kernel.org
Cc: Niklas Cassel <cassel@kernel.org>
Subject: Re: [PATCH v2] ata: libata-acpi: Do not assume 40 wire cable if no devices are enabled
Date: Wed, 21 May 2025 11:56:50 +0300	[thread overview]
Message-ID: <920a533b-a881-4e26-9129-9e4499b13774@tasossah.com> (raw)
In-Reply-To: <001a24b4-1f77-42db-91ad-462bc835e275@kernel.org>

On 2025-05-20 12:29, Damien Le Moal wrote:
> Nit: "it has been renamed" -> "it is renamed"

Will do.

>> @@ -530,13 +534,17 @@ int ata_acpi_cbl_80wire(struct ata_port *ap, const struct ata_acpi_gtm *gtm)
>>  		xfer_mask = ata_acpi_gtm_xfermask(dev, gtm);
>>  		ata_unpack_xfermask(xfer_mask, NULL, NULL, &udma_mask);
>>  
>> -		if (udma_mask & ~ATA_UDMA_MASK_40C)
>> -			return 1;
>> +		ret = ATA_CBL_PATA40;
>> +
>> +		if (udma_mask & ~ATA_UDMA_MASK_40C) {
>> +			ret = ATA_CBL_PATA80;
> 
> Please change this to "return ATA_CBL_PATA80;" and change the last return at the
> end of the function to "return ATA_CBL_PATA40;". That will be cleaner.
> 
> Other than these, this looks good.
> 

Apologies, but I am not sure I understand.

Wouldn't changing the last return to ATA_CBL_PATA40 undo the point of
this change? The function must return ATA_CBL_PATA_UNK if the loop is
never entered (no enabled devices).

If it does enter the loop but the mask hasn't matched at all after it
has gone through all the devices, it must return ATA_CBL_PATA40, which
is why there's the unconditional assignment ret = ATA_CBL_PATA40. If,
however, there is at least one "80 wire device", the whole cable is
considered 80 wire (thus the immediate break in the if).

I believe the most that can be done is:

if (udma_mask & ~ATA_UDMA_MASK_40C)
	return ATA_CBL_PATA80;

with the rest remaining the same. I opted for assignment + break there
instead of return as it seemed more readable to me, and it's consistent.

  reply	other threads:[~2025-05-21  8:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-19  8:56 [PATCH v2] ata: libata-acpi: Do not assume 40 wire cable if no devices are enabled Tasos Sahanidis
2025-05-20  9:29 ` Damien Le Moal
2025-05-21  8:56   ` Tasos Sahanidis [this message]
2025-05-21 12:21     ` Damien Le Moal
2025-06-10 12:33 ` Niklas Cassel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=920a533b-a881-4e26-9129-9e4499b13774@tasossah.com \
    --to=tasos@tasossah.com \
    --cc=cassel@kernel.org \
    --cc=dlemoal@kernel.org \
    --cc=linux-ide@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox