PATCH: DRIVERNAME SUPPRESSED DUE TO KERNEL.ORG FILTER BUGS

Alan Cox (alan@lxorguk.ukuu.org.uk)
Thu, 27 Mar 2003 18:16:14 GMT


One from Jens - fix up the problems with older Samsung disks that don't
abort unknown commands sometimes

diff -u --new-file --recursive --exclude-from /usr/src/exclude linux-2.5.66-bk3/drivers/ide/ide-disk.c linux-2.5.66-ac1/drivers/ide/ide-disk.c
--- linux-2.5.66-bk3/drivers/ide/ide-disk.c 2003-03-27 17:13:19.000000000 +0000
+++ linux-2.5.66-ac1/drivers/ide/ide-disk.c 2003-03-26 20:23:01.000000000 +0000
@@ -1098,6 +1098,7 @@
* in above order (i.e., if value of higher priority is available,
* reset will be ignored).
*/
+#define IDE_STROKE_LIMIT (32000*1024*2)
static void init_idedisk_capacity (ide_drive_t *drive)
{
struct hd_driveid *id = drive->id;
@@ -1118,7 +1119,7 @@
drive->cyl = (unsigned int) capacity_2 / (drive->head * drive->sect);
drive->select.b.lba = 1;
set_max_ext = idedisk_read_native_max_address_ext(drive);
- if (set_max_ext > capacity_2) {
+ if (set_max_ext > capacity_2 && capacity_2 > IDE_STROKE_LIMIT) {
#ifdef CONFIG_IDEDISK_STROKE
set_max_ext = idedisk_read_native_max_address_ext(drive);
set_max_ext = idedisk_set_max_address_ext(drive, set_max_ext);
@@ -1145,7 +1146,7 @@
drive->select.b.lba = 1;
}

- if (set_max > capacity) {
+ if (set_max > capacity && capacity > IDE_STROKE_LIMIT) {
#ifdef CONFIG_IDEDISK_STROKE
set_max = idedisk_read_native_max_address(drive);
set_max = idedisk_set_max_address(drive, set_max);
-
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/