|
@@ -998,19 +998,14 @@ static int init_irq (ide_hwif_t *hwif)
|
|
|
hwgroup->hwif->next = hwif;
|
|
|
spin_unlock_irq(&ide_lock);
|
|
|
} else {
|
|
|
- hwgroup = kmalloc_node(sizeof(ide_hwgroup_t),
|
|
|
- GFP_KERNEL | __GFP_ZERO,
|
|
|
- hwif_to_node(hwif->drives[0].hwif));
|
|
|
- if (!hwgroup)
|
|
|
- goto out_up;
|
|
|
+ hwgroup = kmalloc_node(sizeof(*hwgroup), GFP_KERNEL|__GFP_ZERO,
|
|
|
+ hwif_to_node(hwif));
|
|
|
+ if (hwgroup == NULL)
|
|
|
+ goto out_up;
|
|
|
|
|
|
hwif->hwgroup = hwgroup;
|
|
|
+ hwgroup->hwif = hwif->next = hwif;
|
|
|
|
|
|
- hwgroup->hwif = hwif->next = hwif;
|
|
|
- hwgroup->rq = NULL;
|
|
|
- hwgroup->handler = NULL;
|
|
|
- hwgroup->drive = NULL;
|
|
|
- hwgroup->busy = 0;
|
|
|
init_timer(&hwgroup->timer);
|
|
|
hwgroup->timer.function = &ide_timer_expiry;
|
|
|
hwgroup->timer.data = (unsigned long) hwgroup;
|