Commit 928d6fe9 authored by Yuji Ishikawa's avatar Yuji Ishikawa Committed by David S. Miller
Browse files

net: stmmac: dwmac-visconti: No change to ETHER_CLOCK_SEL for unexpected speed request.



Variable clk_sel_val is not initialized in the default case of the first switch statement.
In that case, the function should return immediately without any changes to the hardware.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Fixes: b38dd98f ("net: stmmac: Add Toshiba Visconti SoCs glue driver")
Signed-off-by: default avatarYuji Ishikawa <yuji2.ishikawa@toshiba.co.jp>
Reviewed-by: default avatarNobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7674b7b5
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -49,13 +49,15 @@ struct visconti_eth {
	void __iomem *reg;
	u32 phy_intf_sel;
	struct clk *phy_ref_clk;
	struct device *dev;
	spinlock_t lock; /* lock to protect register update */
};

static void visconti_eth_fix_mac_speed(void *priv, unsigned int speed)
{
	struct visconti_eth *dwmac = priv;
	unsigned int val, clk_sel_val;
	struct net_device *netdev = dev_get_drvdata(dwmac->dev);
	unsigned int val, clk_sel_val = 0;
	unsigned long flags;

	spin_lock_irqsave(&dwmac->lock, flags);
@@ -85,7 +87,9 @@ static void visconti_eth_fix_mac_speed(void *priv, unsigned int speed)
		break;
	default:
		/* No bit control */
		break;
		netdev_err(netdev, "Unsupported speed request (%d)", speed);
		spin_unlock_irqrestore(&dwmac->lock, flags);
		return;
	}

	writel(val, dwmac->reg + MAC_CTRL_REG);
@@ -229,6 +233,7 @@ static int visconti_eth_dwmac_probe(struct platform_device *pdev)

	spin_lock_init(&dwmac->lock);
	dwmac->reg = stmmac_res.addr;
	dwmac->dev = &pdev->dev;
	plat_dat->bsp_priv = dwmac;
	plat_dat->fix_mac_speed = visconti_eth_fix_mac_speed;