The sa1111 socket driver oopses when removed:
Unable to handle kernel NULL pointer dereference at virtual address 
000003b0
pgd = 
c1b40000
[
000003b0] *pgd=
00000000
Internal error: Oops: 
41b43005 [#1]
Modules linked in:
CPU: 0    Not tainted  (3.3.0-rc1+ #744)
PC is at pcmcia_remove+0x3c/0x60
LR is at pcmcia_remove+0x34/0x60
This is because we try to dereference a NULL 's' to obtain the next
pointer.  Fix this.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
 
 
        dev_set_drvdata(&dev->dev, NULL);
 
-       for (; next = s->next, s; s = next) {
+       for (; s; s = next) {
+               next = s->next;
                soc_pcmcia_remove_one(&s->soc);
                kfree(s);
        }