p54: add handling of the signal case
authorNicholas Mc Guire <der.herr@hofr.at>
Tue, 20 Jan 2015 05:25:43 +0000 (06:25 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 23 Jan 2015 19:33:42 +0000 (21:33 +0200)
if(!wait_for_completion_interruptible_timeout(...))
only handles the timeout case - this patch adds handling the
signal case the same as timeout.

Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
Acked-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/p54/fwio.c

index bc065e8e348b264fad86bffa8450c31a96d0274e..5367d510b22d7862360eaf04b7a994cca701e7b7 100644 (file)
@@ -220,6 +220,7 @@ int p54_download_eeprom(struct p54_common *priv, void *buf,
        struct sk_buff *skb;
        size_t eeprom_hdr_size;
        int ret = 0;
+       long timeout;
 
        if (priv->fw_var >= 0x509)
                eeprom_hdr_size = sizeof(*eeprom_hdr);
@@ -249,9 +250,11 @@ int p54_download_eeprom(struct p54_common *priv, void *buf,
 
        p54_tx(priv, skb);
 
-       if (!wait_for_completion_interruptible_timeout(
-            &priv->eeprom_comp, HZ)) {
-               wiphy_err(priv->hw->wiphy, "device does not respond!\n");
+       timeout = wait_for_completion_interruptible_timeout(
+                       &priv->eeprom_comp, HZ);
+       if (timeout <= 0) {
+               wiphy_err(priv->hw->wiphy,
+                       "device does not respond or signal received!\n");
                ret = -EBUSY;
        }
        priv->eeprom = NULL;