ARM: OMAP2+ smsc911x: Fix possible stale smsc911x flags
authorRuss Dill <Russ.Dill@ti.com>
Fri, 23 Mar 2012 09:21:34 +0000 (02:21 -0700)
committerTony Lindgren <tony@atomide.com>
Tue, 3 Apr 2012 17:29:12 +0000 (10:29 -0700)
If this function is called the first time with flags set, and the
second time without flags set then the leftover flags from the first
called will be used rather than the desired default flags.

Signed-off-by: Russ Dill <russ.dill@ti.com>
Tested-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/gpmc-smsc911x.c

index aa0c296ff34a14c0d1b234754aef96d1f1d2b0e1..f9446eaf9176c047c76320540632875b08b89ff5 100644 (file)
@@ -39,7 +39,6 @@ static struct smsc911x_platform_config gpmc_smsc911x_config = {
        .phy_interface  = PHY_INTERFACE_MODE_MII,
        .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
        .irq_type       = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-       .flags          = SMSC911X_USE_16BIT,
 };
 
 static struct regulator_consumer_supply gpmc_smsc911x_supply[] = {
@@ -135,8 +134,7 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *gpmc_cfg)
                gpio_set_value(gpmc_cfg->gpio_reset, 1);
        }
 
-       if (gpmc_cfg->flags)
-               gpmc_smsc911x_config.flags = gpmc_cfg->flags;
+       gpmc_smsc911x_config.flags = gpmc_cfg->flags ? : SMSC911X_USE_16BIT;
 
        pdev = platform_device_register_resndata(NULL, "smsc911x", gpmc_cfg->id,
                 gpmc_smsc911x_resources, ARRAY_SIZE(gpmc_smsc911x_resources),