Commit 7fe2a2c5 authored by Adam J. Richter's avatar Adam J. Richter Committed by Jeff Dike

[PATCH] Building list of drives in right order

	ata_attach in linux-2.5.34/drivers/ide/ide.c builds a list of
IDE drives that do not yet have a device driver bound to them, in case
ide-disk, ide-scsi, or whatever driver you want to use is not loaded
yet.

	The problem was that ata_attach was adding to the head of
the list, so the list was being built in reverse order.  So, if
you had two IDE disks, and ide-disk was a loadable module, the
devfs entries for the disks would be numbered in reverse (the
first disk would be /dev/discs/disc1, and the second would be
/dev/discs/disc0).

	This fixes the problem by changing the relevant list_add to
list_add_tail.  Incidentally, the generic code in drivers/base/ already
does it this way.
parent 0e9387ab
...@@ -2457,7 +2457,7 @@ int ata_attach(ide_drive_t *drive) ...@@ -2457,7 +2457,7 @@ int ata_attach(ide_drive_t *drive)
} }
spin_unlock(&drivers_lock); spin_unlock(&drivers_lock);
spin_lock(&drives_lock); spin_lock(&drives_lock);
list_add(&drive->list, &ata_unused); list_add_tail(&drive->list, &ata_unused);
spin_unlock(&drives_lock); spin_unlock(&drives_lock);
return 1; return 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment