Messages in this thread Patch in this message | | | Date | Tue, 28 Dec 2004 21:48:13 +0100 | From | Bartlomiej Zolnierkiewicz <> | Subject | Re: PATCH: 2.6.10 - Still mishandles volumes without geometry data |
| |
On Mon, 27 Dec 2004 13:57:20 +0000, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote: > An IDE device can choose not to report geometry. In this situation the > base 2.6 kernel tries to verify the LBA data despite having nothing to > validate it against and prints it out (although now only as pr_debug). > > This patch fixes these problems and has in various forms been in > 2.6.9-ac and Fedora Core for a considerable time now > > diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.10/drivers/ide/ide-disk.c linux-2.6.10/drivers/ide/ide-disk.c > --- linux.vanilla-2.6.10/drivers/ide/ide-disk.c 2004-12-25 21:15:34.000000000 +0000 > +++ linux-2.6.10/drivers/ide/ide-disk.c 2004-12-26 21:55:43.084714368 +0000 > @@ -84,6 +84,10 @@ > { > 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. > @@ -201,7 +205,8 @@ > head = track % drive->head; > cyl = track / drive->head; > > - pr_debug("%s: CHS=%u/%u/%u\n", drive->name, cyl, head, sect); > + if(drive->bios_cyl) > + pr_debug("%s: CHS=%u/%u/%u\n", drive->name, cyl, head, sect); > > hwif->OUTB(0x00, IDE_FEATURE_REG); > hwif->OUTB(nsectors.b.low, IDE_NSECTOR_REG);
Shouldn't this check be around printk in idedisk_setup() instead? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |