]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
CRIS v32: Should index be positive?
authorRoel Kluin <roel.kluin@gmail.com>
Sun, 1 Nov 2009 13:46:26 +0000 (14:46 +0100)
committerJesper Nilsson <jesper.nilsson@axis.com>
Tue, 3 Nov 2009 13:11:53 +0000 (14:11 +0100)
`port' is used as index for writing to pins during
allocation/deallocation. It should be positive.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/arch-v32/kernel/pinmux.c
arch/cris/arch-v32/mach-a3/pinmux.c
arch/cris/arch-v32/mach-fs/pinmux.c

index 6eb54ea1c97622a6b652d831691b5f1bf58f2ee1..f6f3637a41942f5e3de93925c4026acd11d5dc3a 100644 (file)
@@ -54,7 +54,7 @@ crisv32_pinmux_alloc(int port, int first_pin, int last_pin, enum pin_mode mode)
 
        crisv32_pinmux_init();
 
-       if (port > PORTS)
+       if (port > PORTS || port < 0)
                return -EINVAL;
 
        spin_lock_irqsave(&pinmux_lock, flags);
@@ -197,7 +197,7 @@ crisv32_pinmux_dealloc(int port, int first_pin, int last_pin)
 
        crisv32_pinmux_init();
 
-       if (port > PORTS)
+       if (port > PORTS || port < 0)
                return -EINVAL;
 
        spin_lock_irqsave(&pinmux_lock, flags);
index 0a28c9bedfb722321def3f079ea3d8700dd585e3..18648ef2d8741db3ed8144b3e3a628e49b4f8d0b 100644 (file)
@@ -242,7 +242,7 @@ crisv32_pinmux_dealloc(int port, int first_pin, int last_pin)
 
        crisv32_pinmux_init();
 
-       if (port > PORTS)
+       if (port > PORTS || port < 0)
                return -EINVAL;
 
        spin_lock_irqsave(&pinmux_lock, flags);
index d722ad9ae6261fb952356cfd7473603d3b91415b..38f29eec14a617af2691c8ce35545f1fcc8a4422 100644 (file)
@@ -54,7 +54,7 @@ crisv32_pinmux_alloc(int port, int first_pin, int last_pin, enum pin_mode mode)
 
        crisv32_pinmux_init();
 
-       if (port > PORTS)
+       if (port > PORTS || port < 0)
                return -EINVAL;
 
        spin_lock_irqsave(&pinmux_lock, flags);
@@ -195,7 +195,7 @@ int crisv32_pinmux_dealloc(int port, int first_pin, int last_pin)
 
        crisv32_pinmux_init();
 
-       if (port > PORTS)
+       if (port > PORTS || port < 0)
                return -EINVAL;
 
        spin_lock_irqsave(&pinmux_lock, flags);