> > Thank you for looking at this. Are you saying, that if drv.remove() > > returns a failure it is simply ignored, and unbind proceeds? > > Yeah, that's the problem. I've looked at making unbind able to fail, > but that can lead to general bad behavior in device-drivers. I.e. why > spend time unwinding allocated resources when the driver can simply > fail unbind? About the best a driver can do is make unbind wait on > some event, but any return results in device-unbind. Hm, just tested, and it is indeed so. I see the following options: 1. Move hot remove code to some other interface, that can fail. Not sure what that would be, but outside of unbind/remove_id. Any suggestion? 2. Option two is don't attept to offline memory in unbind. Do hot-remove memory in unbind if every section is already offlined. Basically, do a walk through memblocks, and if every section is offlined, also do the cleanup. Pasha