linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: 80 wire cable detection patch
       [not found] ` <200801051921.45084.bzolnier@gmail.com>
@ 2008-01-06 19:00   ` George Kibardin
  2008-01-09 23:26     ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 3+ messages in thread
From: George Kibardin @ 2008-01-06 19:00 UTC (permalink / raw)
  To: linux-ide; +Cc: Bartlomiej Zolnierkiewicz

Signed-off-by: George Kibardin <george-kibardin@yandex.ru>

--- drivers/ide/ide-iops.c.orig 2008-01-03 18:35:23.000000000 +0300
+++ drivers/ide/ide-iops.c      2008-01-03 18:12:29.000000000 +0300
@@ -612,12 +612,12 @@
               printk(KERN_DEBUG "%s: skipping word 93 validity check\n",
                                 drive->name);

-       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
-               goto no_80w;
-
       if (ide_dev_is_sata(id) && !ivb)
               return 1;

+       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
+               goto no_80w;
+
       /*
        * FIXME:
        * - change master/slave IDENTIFY order

Best,
George


> Hi,
>
> On Thursday 03 January 2008, George Kibardin wrote:
>   
>> Hi Bartlomiej,
>>
>> I hope that you are the right person to look at my proposal.
>> I use 2.6.23-gentoo-r3 kernel on VIA Epia EX motherboard with WD SATA 
>> HDD connected to it. (I don't understand exactly why, but kernel thinks 
>> that this is not SATA HDD. It assigns name hda to it, there is no words 
>> SATA in logs, loading via_sata modules doesn't change situation, 
>> via82cxxx module detect this chipset correctly, there is no word SATA in 
>> BIOS etc.). During boot I get:
>>     
>
> There is probably PATA->SATA bridge on the motherboard.
>
>   
>> host side 80-wire cable detection failed, limiting max speed to UDMA33
>>
>> (of course it is true - I don't have even 40 wires :-)
>> Digging the code I've figured out that for some reason checking that 
>> there is 80 wire cable connected happens before checking that drive is 
>> SATA. I've changed the order and this fixed my problem. Unfortunately, I 
>> have not enough hardware to test this. The only thing I'm wondering - is 
>> this bug or feature? Maybe you know the reason why sata check should go 
>> almost last?
>>     
>
> Your fix looks fine and is similar to how libata handles PATA->SATA bridges.
>
> Please add "Signed-off-by:" line,
>
>   
>> --- drivers/ide/ide-iops.c.orig 2008-01-03 18:35:23.000000000 +0300
>> +++ drivers/ide/ide-iops.c      2008-01-03 18:12:29.000000000 +0300
>> @@ -612,12 +612,12 @@
>>                 printk(KERN_DEBUG "%s: skipping word 93 validity check\n",
>>                                   drive->name);
>>
>> -       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
>> -               goto no_80w;
>> -
>>         if (ide_dev_is_sata(id))
>>                 return 1;
>>     
>
> change it to 'if (ide_dev_is_sata(id) && !ivb)' (some ATAPI devices needing
> IVB quirk like to identify themselves like SATA ones, but they aren't),
>
>   
>> +       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
>> +               goto no_80w;
>> +
>>         /*
>>          * FIXME:
>>          * - change master/slave IDENTIFY order
>>
>>     
>
> and resubmit (cc:ing linux-ide@vger.kernel.org mailing list).
>
> Thanks,
> Bart
>
>   


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: 80 wire cable detection patch
  2008-01-06 19:00   ` 80 wire cable detection patch George Kibardin
@ 2008-01-09 23:26     ` Bartlomiej Zolnierkiewicz
  2008-01-10  7:52       ` George Kibardin
  0 siblings, 1 reply; 3+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2008-01-09 23:26 UTC (permalink / raw)
  To: George Kibardin; +Cc: linux-ide


Hi,

On Sunday 06 January 2008, George Kibardin wrote:
> Signed-off-by: George Kibardin <george-kibardin@yandex.ru>
> 
> --- drivers/ide/ide-iops.c.orig 2008-01-03 18:35:23.000000000 +0300
> +++ drivers/ide/ide-iops.c      2008-01-03 18:12:29.000000000 +0300
> @@ -612,12 +612,12 @@
>                printk(KERN_DEBUG "%s: skipping word 93 validity check\n",
>                                  drive->name);
> 
> -       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
> -               goto no_80w;
> -
>        if (ide_dev_is_sata(id) && !ivb)
>                return 1;

Ehm, this was not changed in the code before generating patch but in
the patch itself so the patch won't apply... :(

> +       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
> +               goto no_80w;
> +
>        /*
>         * FIXME:
>         * - change master/slave IDENTIFY order

This time I just applied fix by hand and added missing patch summary
("ide: fix cable detection for SATA bridges") but in the future please
make sure that the patch applies and has a meaningful description.

Thanks,
Bart

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: 80 wire cable detection patch
  2008-01-09 23:26     ` Bartlomiej Zolnierkiewicz
@ 2008-01-10  7:52       ` George Kibardin
  0 siblings, 0 replies; 3+ messages in thread
From: George Kibardin @ 2008-01-10  7:52 UTC (permalink / raw)
  To: 'Bartlomiej Zolnierkiewicz'; +Cc: linux-ide


I'm sorry, I should have guessed !!
(I applied those little change to my code manually and then to the patch :)

Thanks,
George

-----Original Message-----
From: Bartlomiej Zolnierkiewicz [mailto:bzolnier@gmail.com] 
Sent: Thursday, January 10, 2008 2:26 AM
To: George Kibardin
Cc: linux-ide@vger.kernel.org
Subject: Re: 80 wire cable detection patch


Hi,

On Sunday 06 January 2008, George Kibardin wrote:
> Signed-off-by: George Kibardin <george-kibardin@yandex.ru>
> 
> --- drivers/ide/ide-iops.c.orig 2008-01-03 18:35:23.000000000 +0300
> +++ drivers/ide/ide-iops.c      2008-01-03 18:12:29.000000000 +0300
> @@ -612,12 +612,12 @@
>                printk(KERN_DEBUG "%s: skipping word 93 validity check\n",
>                                  drive->name);
> 
> -       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
> -               goto no_80w;
> -
>        if (ide_dev_is_sata(id) && !ivb)
>                return 1;

Ehm, this was not changed in the code before generating patch but in the
patch itself so the patch won't apply... :(

> +       if (hwif->cbl != ATA_CBL_PATA80 && !ivb)
> +               goto no_80w;
> +
>        /*
>         * FIXME:
>         * - change master/slave IDENTIFY order

This time I just applied fix by hand and added missing patch summary
("ide: fix cable detection for SATA bridges") but in the future please make
sure that the patch applies and has a meaningful description.

Thanks,
Bart


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-01-10  7:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <477D0BDF.6020801@yandex.ru>
     [not found] ` <200801051921.45084.bzolnier@gmail.com>
2008-01-06 19:00   ` 80 wire cable detection patch George Kibardin
2008-01-09 23:26     ` Bartlomiej Zolnierkiewicz
2008-01-10  7:52       ` George Kibardin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).