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);
> 


Reply via email to