Revision 428c149b hw/usb-msd.c

b/hw/usb-msd.c
47 47
    uint32_t residue;
48 48
    uint32_t tag;
49 49
    SCSIBus bus;
50
    DriveInfo *dinfo;
50
    BlockConf conf;
51 51
    SCSIDevice *scsi_dev;
52 52
    int result;
53 53
    /* For async completion.  */
......
523 523
{
524 524
    MSDState *s = DO_UPCAST(MSDState, dev, dev);
525 525

  
526
    if (!s->dinfo || !s->dinfo->bdrv) {
526
    if (!s->conf.dinfo || !s->conf.dinfo->bdrv) {
527 527
        qemu_error("usb-msd: drive property not set\n");
528 528
        return -1;
529 529
    }
530 530

  
531 531
    s->dev.speed = USB_SPEED_FULL;
532 532
    scsi_bus_new(&s->bus, &s->dev.qdev, 0, 1, usb_msd_command_complete);
533
    s->scsi_dev = scsi_bus_legacy_add_drive(&s->bus, s->dinfo, 0);
533
    s->scsi_dev = scsi_bus_legacy_add_drive(&s->bus, s->conf.dinfo, 0);
534 534
    s->bus.qbus.allow_hotplug = 0;
535 535
    usb_msd_handle_reset(dev);
536 536

  
537
    if (bdrv_key_required(s->dinfo->bdrv)) {
537
    if (bdrv_key_required(s->conf.dinfo->bdrv)) {
538 538
        if (s->dev.qdev.hotplugged) {
539
            monitor_read_bdrv_key_start(cur_mon, s->dinfo->bdrv,
539
            monitor_read_bdrv_key_start(cur_mon, s->conf.dinfo->bdrv,
540 540
                                        usb_msd_password_cb, s);
541 541
            s->dev.auto_attach = 0;
542 542
        } else {
......
611 611
    .usbdevice_name = "disk",
612 612
    .usbdevice_init = usb_msd_init,
613 613
    .qdev.props     = (Property[]) {
614
        DEFINE_PROP_DRIVE("drive", MSDState, dinfo),
614
        DEFINE_BLOCK_PROPERTIES(MSDState, conf),
615 615
        DEFINE_PROP_END_OF_LIST(),
616 616
    },
617 617
};

Also available in: Unified diff