summaryrefslogtreecommitdiff
path: root/drivers/ide/ide-disk.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2005-06-28 02:24:22 +0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-28 04:36:39 +0400
commit6efd936046b123303ace4330fd2f26195ad7b1c4 (patch)
treee307a02fc4e7477833453e4aa1efedf9378ee6f6 /drivers/ide/ide-disk.c
parentc7b645f934e52a54af58142d91fb51f881f8ce26 (diff)
downloadlinux-6efd936046b123303ace4330fd2f26195ad7b1c4.tar.xz
[PATCH] ide: fix ide-disk inability to handle LBA only devices.
Years old bug, has to be fixed for it8212 to work Signed-off-by: Alan Cox <alan@redhat.com> Acked-by: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/ide/ide-disk.c')
-rw-r--r--drivers/ide/ide-disk.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index d6f934886b04..f9c1acb4ed6a 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -119,6 +119,10 @@ static int lba_capacity_is_ok (struct hd_driveid *id)
{
unsigned long lba_sects, chs_sects, head, tail;
+ /* No non-LBA info .. so valid! */
+ if (id->cyls == 0)
+ return 1;
+
/*
* The ATA spec tells large drives to return
* C/H/S = 16383/16/63 independent of their size.