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é <f4bug@amsat.org>
---
Cc: Eddie James <eajames@linux.ibm.com>
Cc: Cédric Le Goater <clg@kaod.org>
Cc: Joel Stanley <joel@jms.id.au>
Cc: Andrew Jeffery <andrew@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);
--
2.21.3
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é <f4bug@amsat.org> Reviewed-by: Cédric Le Goater <clg@kaod.org> Thanks, C. > --- > Cc: Eddie James <eajames@linux.ibm.com> > Cc: Cédric Le Goater <clg@kaod.org> > Cc: Joel Stanley <joel@jms.id.au> > Cc: Andrew Jeffery <andrew@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); >
On Mon, 13 Jul 2020 at 13:20, Cédric Le Goater <clg@kaod.org> wrote: > > 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é <f4bug@amsat.org> > > Reviewed-by: Cédric Le Goater <clg@kaod.org> Applied to target-arm.next for 5.1, thanks. -- PMM
© 2016 - 2024 Red Hat, Inc.