On Thursday 05 June 2008, Guennadi Liakhovetski wrote:Right. Obviously that wasn't tested with "rmmod" of a modular GPIO expander ... I only have one board which supports such an expander right now, and it's not been in use recently. A fix is obvious; any problems with what's below? - Dave --- g26.orig/drivers/gpio/gpiolib.c 2008-06-10 16:56:01.000000000 -0700 +++ g26/drivers/gpio/gpiolib.c 2008-06-10 16:55:39.000000000 -0700 @@ -726,12 +726,15 @@ int gpiochip_remove(struct gpio_chip *ch } } if (status == 0) { - gpiochip_unexport(chip); for (id = chip->base; id < chip->base + chip->ngpio; id++) gpio_desc[id].chip = NULL; } spin_unlock_irqrestore(&gpio_lock, flags); + + if (status == 0) + gpiochip_unexport(chip); + return status; } EXPORT_SYMBOL_GPL(gpiochip_remove); --
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| David Woodhouse | [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more dr... |
| Philipp Marek | Re: sys_chroot+sys_fchdir Fix |
| Greg Kroah-Hartman | [PATCH 008/196] Chinese: add translation of volatile-considered-harmful.txt |
git: | |
| Krishna Kumar | [PATCH 9/10 REV5] [IPoIB] Implement batching |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
