On Wed, Aug 13, 2014 at 09:05:09AM +0200, Johan Hovold wrote: > On Wed, Aug 13, 2014 at 08:17:50AM +0200, Hannes Petermaier wrote: > > > > > > > > Known issue: > > > > If gpios are in use(export to userspace through sysfs interface, etc), > > > > then call pl2303_release(unplug usb-serial convertor, modprobe -r, > > etc), > > > > will cause trouble, so we need to make sure there is no gpio user > > before > > > > call pl2303_release. > > > > > > This is a real problem that we need to address. gpiolib isn't really > > > able to handle devices that just disappear. In fact, it's API claims > > that > > > we must not call gpiochip_remove with requested gpios and this is > > > exactly what you might do in pl2303hx_gpio_release below. > > > > > > As I mentioned earlier, this crashes the kernel when a new gpiochip is > > > later added (the gpiochip data structures are likely corrupted and we > > > get a NULL pointer deref in gpiochip_find_base). > > > > > > Linus, any thoughts on this? > > > > Hi, > > there are several USB to I2C bus adapters and I2C IO-Expanders, > > how is this handled there ? > > The short answer is: it isn't. > > A few i2c-gpio-expander drivers have teardown callbacks that can be used > from board files to release any gpios requested there, but this neither > translates to device tree or is of any help when gpios have been > exported to user space. For some reason I thought I saw some patches recently that was trying to resolve this problem. So it might get fixed for 3.18... thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html