diff options
| author | Hugh Dickins <hugh@veritas.com> | 2006-03-10 16:15:19 -0500 |
|---|---|---|
| committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-03-31 10:30:51 -0500 |
| commit | b2f51a1cb4e1d72061d7a3f7905affdb7d074fec (patch) | |
| tree | ddb60a660b40afa7d1de5b8c71d665aea09da329 | |
| parent | 30bac7aa0e3678c79ff00fc9372f34712eeb34fc (diff) | |
[PATCH] pcmcia: fix pcmcia_device_remove oops
Fix pcmcia_device_remove NULL pointer dereference at shutdown.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
| -rw-r--r-- | drivers/pcmcia/ds.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 8966dd0913..ae10d1eed6 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c | |||
| @@ -464,7 +464,7 @@ static int pcmcia_device_remove(struct device * dev) | |||
| 464 | * all devices | 464 | * all devices |
| 465 | */ | 465 | */ |
| 466 | did = (struct pcmcia_device_id *) p_dev->dev.driver_data; | 466 | did = (struct pcmcia_device_id *) p_dev->dev.driver_data; |
| 467 | if ((did->match_flags & PCMCIA_DEV_ID_MATCH_DEVICE_NO) && | 467 | if (did && (did->match_flags & PCMCIA_DEV_ID_MATCH_DEVICE_NO) && |
| 468 | (p_dev->socket->device_count != 0) && | 468 | (p_dev->socket->device_count != 0) && |
| 469 | (p_dev->device_no == 0)) | 469 | (p_dev->device_no == 0)) |
| 470 | pcmcia_card_remove(p_dev->socket, p_dev); | 470 | pcmcia_card_remove(p_dev->socket, p_dev); |
