lantiq: fix an endless loop in the vmmc platform code
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 20 Nov 2013 16:56:32 +0000 (16:56 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 20 Nov 2013 16:56:32 +0000 (16:56 +0000)
this was caused by not honoured error return codes of of_gpio_count()

Signed-off-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38878 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/lantiq/patches-3.10/0007-MIPS-lantiq-handle-vmmc-memory-reservation.patch

index 0718063..d1b1e08 100644 (file)
@@ -54,7 +54,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +              (void*)CPHYSADDR(dma_alloc_coherent(NULL, CP1_SIZE, &dma, GFP_ATOMIC));
 +
 +      gpio_count = of_gpio_count(pdev->dev.of_node);
-+      while (gpio_count) {
++      while (gpio_count > 0) {
 +              enum of_gpio_flags flags;
 +              int gpio = of_get_gpio_flags(pdev->dev.of_node, --gpio_count, &flags);
 +              if (gpio_request(gpio, "vmmc-relay"))