From: Max Filippov Date: Sun, 17 May 2009 23:02:34 +0000 (+0400) Subject: p54spi: always call p54spi_sleep in p54spi_tx_frame if p54spi_wakeup succeeded X-Git-Tag: firefly_0821_release~13604^2~390^2~62 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6edf534a3214e8fad943d7acd903603f0a5b9ac8;p=firefly-linux-kernel-4.4.55.git p54spi: always call p54spi_sleep in p54spi_tx_frame if p54spi_wakeup succeeded Put chip into sleep state, once it's been awaken. Also, propagate error code to the caller. Signed-off-by: Max Filippov Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c index 5038e8aa9353..e830a2e68450 100644 --- a/drivers/net/wireless/p54/p54spi.c +++ b/drivers/net/wireless/p54/p54spi.c @@ -434,16 +434,16 @@ static int p54spi_tx_frame(struct p54s_priv *priv, struct sk_buff *skb) if (!p54spi_wait_bit(priv, SPI_ADRS_HOST_INTERRUPTS, cpu_to_le32(SPI_HOST_INT_WR_READY))) { dev_err(&priv->spi->dev, "WR_READY timeout\n"); - ret = -1; + ret = -EAGAIN; goto out; } p54spi_int_ack(priv, SPI_HOST_INT_WR_READY); - p54spi_sleep(priv); if (FREE_AFTER_TX(skb)) p54_free_skb(priv->hw, skb); out: + p54spi_sleep(priv); return ret; }