Revision c4d74df7 hw/ide/core.c

b/hw/ide/core.c
26 26
#include <hw/pc.h>
27 27
#include <hw/pci.h>
28 28
#include <hw/scsi.h>
29
#include "qemu-error.h"
29 30
#include "qemu-timer.h"
30 31
#include "sysemu.h"
31 32
#include "dma.h"
......
2594 2595
    ide_clear_hob(bus);
2595 2596
}
2596 2597

  
2597
void ide_init_drive(IDEState *s, BlockDriverState *bs,
2598
                    const char *version, const char *serial)
2598
int ide_init_drive(IDEState *s, BlockDriverState *bs,
2599
                   const char *version, const char *serial)
2599 2600
{
2600 2601
    int cylinders, heads, secs;
2601 2602
    uint64_t nb_sectors;
......
2630 2631
    }
2631 2632
    ide_reset(s);
2632 2633
    bdrv_set_removable(bs, s->drive_kind == IDE_CD);
2634
    return 0;
2633 2635
}
2634 2636

  
2635 2637
static void ide_init1(IDEBus *bus, int unit)
......
2669 2671
        dinfo = i == 0 ? hd0 : hd1;
2670 2672
        ide_init1(bus, i);
2671 2673
        if (dinfo) {
2672
            ide_init_drive(&bus->ifs[i], dinfo->bdrv, NULL,
2673
                           *dinfo->serial ? dinfo->serial : NULL);
2674
            if (ide_init_drive(&bus->ifs[i], dinfo->bdrv, NULL,
2675
                               *dinfo->serial ? dinfo->serial : NULL) < 0) {
2676
                error_report("Can't set up IDE drive %s", dinfo->id);
2677
                exit(1);
2678
            }
2674 2679
        } else {
2675 2680
            ide_reset(&bus->ifs[i]);
2676 2681
        }

Also available in: Unified diff