pcmcia: pcmcia_dev_present bugfix
pcmcia_dev_present is in and by itself buggy. Add a note specifying why it is broken, and replace the broken locking -- taking a mutex is a bad idea in IRQ context, from which this function is rarely called -- by an atomic_t. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
@@ -224,18 +224,16 @@ struct pcmcia_socket {
|
||||
|
||||
/* 16-bit state: */
|
||||
struct {
|
||||
/* PCMCIA card is present in socket */
|
||||
u8 present:1;
|
||||
/* "master" ioctl is used */
|
||||
u8 busy:1;
|
||||
/* pcmcia module is being unloaded */
|
||||
u8 dead:1;
|
||||
/* the PCMCIA card consists of two pseudo devices */
|
||||
u8 has_pfc:1;
|
||||
|
||||
u8 reserved:4;
|
||||
u8 reserved:6;
|
||||
} pcmcia_state;
|
||||
|
||||
/* non-zero if PCMCIA card is present */
|
||||
atomic_t present;
|
||||
|
||||
#ifdef CONFIG_PCMCIA_IOCTL
|
||||
struct user_info_t *user;
|
||||
|
Reference in New Issue
Block a user