On 7/5/20 7:34 PM, Philippe Mathieu-Daudé wrote: > Since added in commit 2bea128c3d, each SDHCI is wired with a SD > card, using empty card when no block drive provided. This is not > the desired behavior. The SDHCI exposes a SD bus to plug cards > on, if no card available, it is fine to have an unplugged bus. > > Avoid creating unnecessary SD card device when no block drive > provided. > > Fixes: 2bea128c3d ("hw/sd/aspeed_sdhci: New device") > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Reviewed-by: Cédric Le Goater <c...@kaod.org> Thanks, C. > --- > Cc: Eddie James <eaja...@linux.ibm.com> > Cc: Cédric Le Goater <c...@kaod.org> > Cc: Joel Stanley <j...@jms.id.au> > Cc: Andrew Jeffery <and...@aj.id.au> > --- > hw/arm/aspeed.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c > index 379f9672a5..11521c4be1 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -246,11 +246,12 @@ static void sdhci_attach_drive(SDHCIState *sdhci, > DriveInfo *dinfo) > { > DeviceState *card; > > - card = qdev_new(TYPE_SD_CARD); > - if (dinfo) { > - qdev_prop_set_drive_err(card, "drive", > blk_by_legacy_dinfo(dinfo), > - &error_fatal); > + if (!dinfo) { > + return; > } > + card = qdev_new(TYPE_SD_CARD); > + qdev_prop_set_drive_err(card, "drive", blk_by_legacy_dinfo(dinfo), > + &error_fatal); > qdev_realize_and_unref(card, > qdev_get_child_bus(DEVICE(sdhci), "sd-bus"), > &error_fatal); >