Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 29667
b: refs/heads/master
c: a9adb8d
h: refs/heads/master
i:
  29665: 6941bc7
  29663: 7f4d897
v: v3
  • Loading branch information
Jesper Juhl authored and Linus Torvalds committed Jun 25, 2006
1 parent 4dd9d7a commit 6eeca34
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 23 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 552c03483e49a69312c9e7384fda9282c991880a
refs/heads/master: a9adb8dbcd7a337620862106f8c17aeb5e7278c7
48 changes: 26 additions & 22 deletions trunk/drivers/pnp/card.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,30 +60,34 @@ static void card_remove_first(struct pnp_dev * dev)
card_remove(dev);
}

static int card_probe(struct pnp_card * card, struct pnp_card_driver * drv)
static int card_probe(struct pnp_card *card, struct pnp_card_driver *drv)
{
const struct pnp_card_device_id *id = match_card(drv,card);
if (id) {
struct pnp_card_link * clink = pnp_alloc(sizeof(struct pnp_card_link));
if (!clink)
return 0;
clink->card = card;
clink->driver = drv;
clink->pm_state = PMSG_ON;
if (drv->probe) {
if (drv->probe(clink, id)>=0)
return 1;
else {
struct pnp_dev * dev;
card_for_each_dev(card, dev) {
if (dev->card_link == clink)
pnp_release_card_device(dev);
}
kfree(clink);
}
} else
return 1;
const struct pnp_card_device_id *id;
struct pnp_card_link *clink;
struct pnp_dev *dev;

if (!drv->probe)
return 0;
id = match_card(drv,card);
if (!id)
return 0;

clink = pnp_alloc(sizeof(*clink));
if (!clink)
return 0;
clink->card = card;
clink->driver = drv;
clink->pm_state = PMSG_ON;

if (drv->probe(clink, id) >= 0)
return 1;

/* Recovery */
card_for_each_dev(card, dev) {
if (dev->card_link == clink)
pnp_release_card_device(dev);
}
kfree(clink);
return 0;
}

Expand Down

0 comments on commit 6eeca34

Please sign in to comment.