2.6.27-stable review patch. If anyone has any objections, please let us know.

------------------

From: Wilfried Klaebe <linux-kernel@lebenslange-mailadresse.de>

commit 1c594c05a75770ab53a329fc4eb99c797a4bc7d7 upstream.

On "/etc/init.d/capiutils stop", this oops happened.

The oops happens on reading /proc/capi/controllers becausecapi_ctrl->procinfo is called for the wrongly not unregisteredcontroller, which points to b1isa_procinfo(), which was removed onmodule unload.

b1isa_exit() did not call b1isa_remove() for its controllers becauseio[0] == 0 on module unload despite having been 0x340 on module load.

Besides, just removing the controllers that where added on moduleload time and not those that were added later via b1isa_add_card() iswrong too - the place where all added cards are found is isa_dev[].