SDIO non-combo cards are not handled by mmc_block driver and do not have
accessible CID register which is used for MMC_NAME= construction.

Signed-off-by: Pali Rohár <[email protected]>
Reviewed-by: Marek Behún <[email protected]>
---
 drivers/mmc/core/bus.c | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
index 74de3f2dd..103eea7cd 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -93,15 +93,20 @@ mmc_bus_uevent(struct device *dev, struct kobj_uevent_env 
*env)
                        return retval;
        }
 
-       retval = add_uevent_var(env, "MMC_NAME=%s", mmc_card_name(card));
-       if (retval)
-               return retval;
-
-       /*
-        * Request the mmc_block device.  Note: that this is a direct request
-        * for the module it carries no information as to what is inserted.
-        */
-       retval = add_uevent_var(env, "MODALIAS=mmc:block");
+       if (card->type != MMC_TYPE_SDIO) {
+               retval = add_uevent_var(env, "MMC_NAME=%s", 
mmc_card_name(card));
+               if (retval)
+                       return retval;
+
+               /*
+                * Request the mmc_block device.
+                * Note: that this is a direct request for the module it carries
+                * no information as to what is inserted.
+                */
+               retval = add_uevent_var(env, "MODALIAS=mmc:block");
+               if (retval)
+                       return retval;
+       }
 
        return retval;
 }
-- 
2.20.1

Reply via email to