Commit 1c1f619e authored by Lendacky, Thomas's avatar Lendacky, Thomas Committed by David S. Miller

amd-xgbe: Fix maximum GPIO value check

The GPIO support in the hardware allows for up to 16 GPIO pins, enumerated
from 0 to 15.  The driver uses the wrong value (16) to validate the GPIO
pin range in the routines to set and clear the GPIO output pins.  Update
the code to use the correct value (15).
Reported-by: default avatarColin Ian King <colin.king@canonical.com>
Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5e4cbaa7
...@@ -1099,7 +1099,7 @@ static int xgbe_clr_gpio(struct xgbe_prv_data *pdata, unsigned int gpio) ...@@ -1099,7 +1099,7 @@ static int xgbe_clr_gpio(struct xgbe_prv_data *pdata, unsigned int gpio)
{ {
unsigned int reg; unsigned int reg;
if (gpio > 16) if (gpio > 15)
return -EINVAL; return -EINVAL;
reg = XGMAC_IOREAD(pdata, MAC_GPIOSR); reg = XGMAC_IOREAD(pdata, MAC_GPIOSR);
...@@ -1114,7 +1114,7 @@ static int xgbe_set_gpio(struct xgbe_prv_data *pdata, unsigned int gpio) ...@@ -1114,7 +1114,7 @@ static int xgbe_set_gpio(struct xgbe_prv_data *pdata, unsigned int gpio)
{ {
unsigned int reg; unsigned int reg;
if (gpio > 16) if (gpio > 15)
return -EINVAL; return -EINVAL;
reg = XGMAC_IOREAD(pdata, MAC_GPIOSR); reg = XGMAC_IOREAD(pdata, MAC_GPIOSR);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment