提交 cfda2cef 编写于 作者: G Gerd Hoffmann

usb-ccid: fix 61b4887b

QOMification dropped the parent device lookup, fix it.
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 6110ce59
...@@ -1184,7 +1184,7 @@ void ccid_card_send_apdu_to_guest(CCIDCardState *card, ...@@ -1184,7 +1184,7 @@ void ccid_card_send_apdu_to_guest(CCIDCardState *card,
uint8_t *apdu, uint32_t len) uint8_t *apdu, uint32_t len)
{ {
DeviceState *qdev = DEVICE(card); DeviceState *qdev = DEVICE(card);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
Answer *answer; Answer *answer;
...@@ -1207,7 +1207,7 @@ void ccid_card_send_apdu_to_guest(CCIDCardState *card, ...@@ -1207,7 +1207,7 @@ void ccid_card_send_apdu_to_guest(CCIDCardState *card,
void ccid_card_card_removed(CCIDCardState *card) void ccid_card_card_removed(CCIDCardState *card)
{ {
DeviceState *qdev = DEVICE(card); DeviceState *qdev = DEVICE(card);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
ccid_on_slot_change(s, false); ccid_on_slot_change(s, false);
...@@ -1218,7 +1218,7 @@ void ccid_card_card_removed(CCIDCardState *card) ...@@ -1218,7 +1218,7 @@ void ccid_card_card_removed(CCIDCardState *card)
int ccid_card_ccid_attach(CCIDCardState *card) int ccid_card_ccid_attach(CCIDCardState *card)
{ {
DeviceState *qdev = DEVICE(card); DeviceState *qdev = DEVICE(card);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
DPRINTF(s, 1, "CCID Attach\n"); DPRINTF(s, 1, "CCID Attach\n");
...@@ -1231,7 +1231,7 @@ int ccid_card_ccid_attach(CCIDCardState *card) ...@@ -1231,7 +1231,7 @@ int ccid_card_ccid_attach(CCIDCardState *card)
void ccid_card_ccid_detach(CCIDCardState *card) void ccid_card_ccid_detach(CCIDCardState *card)
{ {
DeviceState *qdev = DEVICE(card); DeviceState *qdev = DEVICE(card);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
DPRINTF(s, 1, "CCID Detach\n"); DPRINTF(s, 1, "CCID Detach\n");
...@@ -1244,7 +1244,7 @@ void ccid_card_ccid_detach(CCIDCardState *card) ...@@ -1244,7 +1244,7 @@ void ccid_card_ccid_detach(CCIDCardState *card)
void ccid_card_card_error(CCIDCardState *card, uint64_t error) void ccid_card_card_error(CCIDCardState *card, uint64_t error)
{ {
DeviceState *qdev = DEVICE(card); DeviceState *qdev = DEVICE(card);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
s->bmCommandStatus = COMMAND_STATUS_FAILED; s->bmCommandStatus = COMMAND_STATUS_FAILED;
...@@ -1263,7 +1263,7 @@ void ccid_card_card_error(CCIDCardState *card, uint64_t error) ...@@ -1263,7 +1263,7 @@ void ccid_card_card_error(CCIDCardState *card, uint64_t error)
void ccid_card_card_inserted(CCIDCardState *card) void ccid_card_card_inserted(CCIDCardState *card)
{ {
DeviceState *qdev = DEVICE(card); DeviceState *qdev = DEVICE(card);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
s->bmCommandStatus = COMMAND_STATUS_NO_ERROR; s->bmCommandStatus = COMMAND_STATUS_NO_ERROR;
...@@ -1275,7 +1275,7 @@ static int ccid_card_exit(DeviceState *qdev) ...@@ -1275,7 +1275,7 @@ static int ccid_card_exit(DeviceState *qdev)
{ {
int ret = 0; int ret = 0;
CCIDCardState *card = CCID_CARD(qdev); CCIDCardState *card = CCID_CARD(qdev);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
if (ccid_card_inserted(s)) { if (ccid_card_inserted(s)) {
...@@ -1289,7 +1289,7 @@ static int ccid_card_exit(DeviceState *qdev) ...@@ -1289,7 +1289,7 @@ static int ccid_card_exit(DeviceState *qdev)
static int ccid_card_init(DeviceState *qdev) static int ccid_card_init(DeviceState *qdev)
{ {
CCIDCardState *card = CCID_CARD(qdev); CCIDCardState *card = CCID_CARD(qdev);
USBDevice *dev = USB_DEVICE(qdev); USBDevice *dev = USB_DEVICE(qdev->parent_bus->parent);
USBCCIDState *s = USB_CCID_DEV(dev); USBCCIDState *s = USB_CCID_DEV(dev);
int ret = 0; int ret = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册