Author: loos
Date: Fri Sep  6 23:39:56 2013
New Revision: 255334
URL: http://svnweb.freebsd.org/changeset/base/255334

Log:
  Fix an off-by-one bug in ar71xx_gpio and bcm2835_gpio which makes the last
  pin unavailable.
  
  Reported and tested by:       sbruno (ar71xx)
  Approved by:  adrian (mentor)
  Pointy hat to:        loos

Modified:
  head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
  head/sys/mips/atheros/ar71xx_gpio.c

Modified: head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
==============================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c        Fri Sep  6 23:14:31 
2013        (r255333)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_gpio.c        Fri Sep  6 23:39:56 
2013        (r255334)
@@ -729,7 +729,7 @@ bcm_gpio_attach(device_t dev)
                goto fail;
 
        /* Initialize the software controlled pins. */
-       for (i = 0, j = 0; j < BCM_GPIO_PINS - 1; j++) {
+       for (i = 0, j = 0; j < BCM_GPIO_PINS; j++) {
                if (bcm_gpio_pin_is_ro(sc, j))
                        continue;
                snprintf(sc->sc_gpio_pins[i].gp_name, GPIOMAXNAME,

Modified: head/sys/mips/atheros/ar71xx_gpio.c
==============================================================================
--- head/sys/mips/atheros/ar71xx_gpio.c Fri Sep  6 23:14:31 2013        
(r255333)
+++ head/sys/mips/atheros/ar71xx_gpio.c Fri Sep  6 23:39:56 2013        
(r255334)
@@ -418,7 +418,7 @@ ar71xx_gpio_attach(device_t dev)
            "pinon", &pinon) != 0)
                pinon = 0;
        device_printf(dev, "gpio pinmask=0x%x\n", mask);
-       for (i = 0, j = 0; j < maxpin; j++) {
+       for (i = 0, j = 0; j <= maxpin; j++) {
                if ((mask & (1 << j)) == 0)
                        continue;
                snprintf(sc->gpio_pins[i].gp_name, GPIOMAXNAME,
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to