| From stable-bounces@linux.kernel.org Sun Sep 10 08:47:01 2006 |
| From: Michael-Luke Jones <mlj28@cam.ac.uk> |
| To: stable@kernel.org |
| Message-Id: <86EA9E48-1F4C-4ED8-B5AD-D07F8210CE73@cam.ac.uk> |
| Date: Sun, 10 Sep 2006 16:46:35 +0100 |
| Subject: Backport: Old IDE, fix SATA detection for cabling |
| |
| |
| From: Michael-Luke Jones <mlj28@cam.ac.uk> |
| |
| This patch is identical to that introduced in |
| 1a1276e7b6cba549553285f74e87f702bfff6fac to the Linus' 2.6 development tree |
| by Alan Cox. |
| |
| 'This is based on the proposed patches flying around but also checks that |
| the device in question is new enough to have word 93 rather thanb blindly |
| assuming word 93 == 0 means SATA (see ATA-5, ATA-7)' -- Alan Cox |
| |
| Required for my SATA drive on an Asus Pundit-R to operate above 33MBps. |
| |
| Signed-off-by: Michael-Luke Jones <mlj28@cam.ac.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/ide/ide-iops.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- linux-2.6.17.13.orig/drivers/ide/ide-iops.c |
| +++ linux-2.6.17.13/drivers/ide/ide-iops.c |
| @@ -597,6 +597,10 @@ u8 eighty_ninty_three (ide_drive_t *driv |
| { |
| if(HWIF(drive)->udma_four == 0) |
| return 0; |
| + |
| + /* Check for SATA but only if we are ATA5 or higher */ |
| + if (drive->id->hw_config == 0 && (drive->id->major_rev_num & 0x7FE0)) |
| + return 1; |
| if (!(drive->id->hw_config & 0x6000)) |
| return 0; |
| #ifndef CONFIG_IDEDMA_IVB |