PNP: remove null pointer checks

Remove some null pointer checks.  Null pointers in these areas indicate
programming errors, and I think it's better to oops immediately rather than
return an error that is easily ignored.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Bjorn Helgaas 2007-10-16 23:31:09 -07:00 committed by Linus Torvalds
parent 9cd8047b46
commit 402b310cb6
2 changed files with 3 additions and 18 deletions

View file

@ -104,10 +104,6 @@ int pnp_add_card_id(struct pnp_id *id, struct pnp_card *card)
{ {
struct pnp_id *ptr; struct pnp_id *ptr;
if (!id)
return -EINVAL;
if (!card)
return -EINVAL;
id->next = NULL; id->next = NULL;
ptr = card->id; ptr = card->id;
while (ptr && ptr->next) while (ptr && ptr->next)
@ -124,8 +120,6 @@ static void pnp_free_card_ids(struct pnp_card *card)
struct pnp_id *id; struct pnp_id *id;
struct pnp_id *next; struct pnp_id *next;
if (!card)
return;
id = card->id; id = card->id;
while (id) { while (id) {
next = id->next; next = id->next;
@ -197,9 +191,6 @@ int pnp_add_card(struct pnp_card *card)
int error; int error;
struct list_head *pos, *temp; struct list_head *pos, *temp;
if (!card || !card->protocol)
return -EINVAL;
sprintf(card->dev.bus_id, "%02x:%02x", card->protocol->number, sprintf(card->dev.bus_id, "%02x:%02x", card->protocol->number,
card->number); card->number);
card->dev.parent = &card->protocol->dev; card->dev.parent = &card->protocol->dev;
@ -243,8 +234,6 @@ void pnp_remove_card(struct pnp_card *card)
{ {
struct list_head *pos, *temp; struct list_head *pos, *temp;
if (!card)
return;
device_unregister(&card->dev); device_unregister(&card->dev);
spin_lock(&pnp_lock); spin_lock(&pnp_lock);
list_del(&card->global_list); list_del(&card->global_list);
@ -263,8 +252,6 @@ void pnp_remove_card(struct pnp_card *card)
*/ */
int pnp_add_card_device(struct pnp_card *card, struct pnp_dev *dev) int pnp_add_card_device(struct pnp_card *card, struct pnp_dev *dev)
{ {
if (!card || !dev || !dev->protocol)
return -EINVAL;
dev->dev.parent = &card->dev; dev->dev.parent = &card->dev;
dev->card_link = NULL; dev->card_link = NULL;
snprintf(dev->dev.bus_id, BUS_ID_SIZE, "%02x:%02x.%02x", snprintf(dev->dev.bus_id, BUS_ID_SIZE, "%02x:%02x.%02x",
@ -348,8 +335,6 @@ void pnp_release_card_device(struct pnp_dev *dev)
{ {
struct pnp_card_driver *drv = dev->card_link->driver; struct pnp_card_driver *drv = dev->card_link->driver;
if (!drv)
return;
drv->link.remove = &card_remove; drv->link.remove = &card_remove;
device_release_driver(&dev->dev); device_release_driver(&dev->dev);
drv->link.remove = &card_remove_first; drv->link.remove = &card_remove_first;

View file

@ -243,11 +243,11 @@ struct pnp_fixup {
#define PNP_CONFIGURABLE 0x0008 #define PNP_CONFIGURABLE 0x0008
#define PNP_REMOVABLE 0x0010 #define PNP_REMOVABLE 0x0010
#define pnp_can_read(dev) (((dev)->protocol) && ((dev)->protocol->get) && \ #define pnp_can_read(dev) (((dev)->protocol->get) && \
((dev)->capabilities & PNP_READ)) ((dev)->capabilities & PNP_READ))
#define pnp_can_write(dev) (((dev)->protocol) && ((dev)->protocol->set) && \ #define pnp_can_write(dev) (((dev)->protocol->set) && \
((dev)->capabilities & PNP_WRITE)) ((dev)->capabilities & PNP_WRITE))
#define pnp_can_disable(dev) (((dev)->protocol) && ((dev)->protocol->disable) && \ #define pnp_can_disable(dev) (((dev)->protocol->disable) && \
((dev)->capabilities & PNP_DISABLE)) ((dev)->capabilities & PNP_DISABLE))
#define pnp_can_configure(dev) ((!(dev)->active) && \ #define pnp_can_configure(dev) ((!(dev)->active) && \
((dev)->capabilities & PNP_CONFIGURABLE)) ((dev)->capabilities & PNP_CONFIGURABLE))