diff options
| author | Dave Jones <davej@redhat.com> | 2006-09-27 02:52:50 -0400 |
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-09-27 18:05:40 -0400 |
| commit | c38778c3a9aeadcd1ee319cfc8ea5a9cbf8cdafa (patch) | |
| tree | a4655b566c867924c70c6a8d703b480f97f4c687 | |
| parent | bda3028813bd07f34f30288a492fbf6f7b8712dd (diff) | |
[PATCH] Fix reference of uninitialised memory in ata_device_add()
ata_device_add fails, calls ata_host_remove with pointers to unitialized
memory.
Signed-off-by: Dave Jones <davej@redhat.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
| -rw-r--r-- | drivers/ata/libata-core.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index b4abd6850367..396493cc98ce 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
| @@ -5478,11 +5478,10 @@ int ata_device_add(const struct ata_probe_ent *ent) | |||
| 5478 | int irq_line = ent->irq; | 5478 | int irq_line = ent->irq; |
| 5479 | 5479 | ||
| 5480 | ap = ata_port_add(ent, host, i); | 5480 | ap = ata_port_add(ent, host, i); |
| 5481 | host->ports[i] = ap; | ||
| 5481 | if (!ap) | 5482 | if (!ap) |
| 5482 | goto err_out; | 5483 | goto err_out; |
| 5483 | 5484 | ||
| 5484 | host->ports[i] = ap; | ||
| 5485 | |||
| 5486 | /* dummy? */ | 5485 | /* dummy? */ |
| 5487 | if (ent->dummy_port_mask & (1 << i)) { | 5486 | if (ent->dummy_port_mask & (1 << i)) { |
| 5488 | ata_port_printk(ap, KERN_INFO, "DUMMY\n"); | 5487 | ata_port_printk(ap, KERN_INFO, "DUMMY\n"); |
