linux/drivers/ide
Hugh Dickins 5f4417a156 ide: fix PowerMac bootup oops
PowerMac bootup with CONFIG_IDE=y oopses in ide_pio_cycle_time():
because "ide: try to use PIO Mode 0 during probe if possible" causes
pmac_ide_set_pio_mode() to be called before drive->id has been set.

Bart points out other places which now need drive->id set earlier,
so follow his advice to allocate it in ide_port_alloc_devices()
(using kzalloc_node, without error message, as when allocating drive)
and memset it for reuse in ide_port_init_devices_data().

Fixed in passing: ide_host_alloc() was missing ide_port_free_devices()
from an error path.

Signed-off-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>
Cc: Joao Ramos <joao.ramos@inov.pt>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2009-06-10 14:37:20 +02:00
..
aec62xx.c
ali14xx.c
alim15x3.c alim15x3: Remove historical hacks, re-enable init_hwif for PowerPC 2009-04-30 18:38:01 +02:00
amd74xx.c
at91_ide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
atiixp.c
au1xxx-ide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
buddha.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
cmd64x.c
cmd640.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
cs5520.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
cs5530.c
cs5535.c
cs5536.c cs5536: define dma_sff_read_status() method 2009-04-18 17:42:20 +02:00
cy82c693.c
delkin_cb.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
dtc2278.c
falconide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
gayle.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
hpt366.c ide: add IDE_DFLAG_NIEN_QUIRK device flag 2009-06-07 15:37:10 +02:00
ht6560b.c
icside.c icside: remove superfluous ->maskproc method 2009-06-07 15:37:06 +02:00
ide_platform.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-4drives.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-acpi.c ide: simplify 'struct ide_taskfile' 2009-04-08 14:13:02 +02:00
ide-atapi.c ide-tape: change IDE_AFLAG_IGNORE_DSC non-atomically 2009-06-07 15:37:05 +02:00
ide-cd_ioctl.c
ide-cd_verbose.c
ide-cd.c Merge branch 'for-linus' into for-next 2009-04-30 18:28:35 +02:00
ide-cd.h ide-cd: convert to using generic sense request 2009-04-19 07:00:42 +09:00
ide-cs.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-devsets.c
ide-disk_ioctl.c
ide-disk_proc.c ide: replace IDE_TFLAG_* flags by IDE_VALID_* 2009-04-08 14:13:01 +02:00
ide-disk.c Merge branch 'for-linus' into for-next 2009-06-07 14:27:11 +02:00
ide-disk.h
ide-dma-sff.c ide: remove wmb() from ide-dma-sff.c and scc_pata.c 2009-04-08 14:12:49 +02:00
ide-dma.c ide-dma: don't reset request fields on dma_timeout_retry() 2009-04-21 12:16:56 +09:00
ide-eh.c ide: add IDE_DFLAG_NIEN_QUIRK device flag 2009-06-07 15:37:10 +02:00
ide-floppy_ioctl.c
ide-floppy_proc.c
ide-floppy.c ide-atapi,tape,floppy: allow ->pc_callback() to change rq->data_len 2009-04-19 08:46:02 +09:00
ide-floppy.h
ide-gd.c ide-gd: implement block device ->set_capacity method (v2) 2009-06-07 13:52:52 +02:00
ide-gd.h
ide-generic.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-h8300.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-io-std.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
ide-io.c ide: add IDE_DFLAG_NIEN_QUIRK device flag 2009-06-07 15:37:10 +02:00
ide-ioctls.c ide: don't set REQ_SOFTBARRIER 2009-04-19 07:00:41 +09:00
ide-iops.c ide: add IDE_DFLAG_NIEN_QUIRK device flag 2009-06-07 15:37:10 +02:00
ide-legacy.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-lib.c ide: improve failed opcode reporting 2009-05-22 16:23:38 +02:00
ide-park.c ide: use blk_run_queue() instead of blk_start_queueing() 2009-04-19 07:00:41 +09:00
ide-pci-generic.c ide_pci_generic: add quirk for Netcell ATA RAID 2009-05-30 20:06:54 +02:00
ide-pio-blacklist.c
ide-pm.c ide-pm: don't abuse rq->data 2009-04-19 07:00:43 +09:00
ide-pnp.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-probe.c ide: fix PowerMac bootup oops 2009-06-10 14:37:20 +02:00
ide-proc.c ide: replace IDE_TFLAG_* flags by IDE_VALID_* 2009-04-08 14:13:01 +02:00
ide-scan-pci.c
ide-sysfs.c
ide-tape.c ide-tape: fix proc warning 2009-06-08 22:03:03 +02:00
ide-taskfile.c ide: remove superfluous SELECT_MASK() call from do_rw_taskfile() 2009-06-07 15:37:07 +02:00
ide-timings.c
ide-xfer-mode.c
ide.c ide: preserve Host Protected Area by default (v2) 2009-06-07 13:52:52 +02:00
it821x.c
it8172.c
it8213.c
jmicron.c
Kconfig
macide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
Makefile
ns87415.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
opti621.c
palm_bk3710.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
pdc202xx_new.c ide: respect quirk_drives[] list on all controllers 2009-06-07 15:37:09 +02:00
pdc202xx_old.c ide: respect quirk_drives[] list on all controllers 2009-06-07 15:37:09 +02:00
piix.c piix: The Sony TZ90 needs the cable type hardcoding 2009-05-16 19:03:36 +02:00
pmac.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
q40ide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
qd65xx.c
qd65xx.h
rapide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
rz1000.c
sc1200.c
scc_pata.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
serverworks.c
setup-pci.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
sgiioc4.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
siimage.c ide: replace special_t typedef by IDE_SFLAG_* flags 2009-05-17 19:12:21 +02:00
sis5513.c
sl82c105.c sl82c105: add printk() logging facility 2009-06-08 22:03:03 +02:00
slc90e66.c
tc86c001.c
triflex.c
trm290.c
tx4938ide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
tx4939ide.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
umc8672.c
via82cxxx.c via82cxxx: Add VIA VX855 PCI Device ID 2009-05-22 16:23:39 +02:00