sfc: Fix condition for no-op in set_phy_flash_cfg()
authorBen Hutchings <bhutchings@solarflare.com>
Thu, 2 Dec 2010 13:46:14 +0000 (13:46 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Dec 2010 17:08:03 +0000 (09:08 -0800)
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sfc/falcon_boards.c

index cfc6a5b5a4770a3e2c48446b7dc168dbba318ceb..cfc29d767588f2aa9212b49d571d3d6bfaf09eb8 100644 (file)
@@ -325,7 +325,7 @@ static ssize_t set_phy_flash_cfg(struct device *dev,
                new_mode = old_mode & ~PHY_MODE_SPECIAL;
        else
                new_mode = PHY_MODE_SPECIAL;
-       if (old_mode == new_mode) {
+       if (!((old_mode ^ new_mode) & PHY_MODE_SPECIAL)) {
                err = 0;
        } else if (efx->state != STATE_RUNNING || netif_running(efx->net_dev)) {
                err = -EBUSY;