mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Whacked out CIS configurations can cause us to not have any child. When
such a card is ejected, we'd panic. Instead, just ignore it. I should also add a sanity check in the FUNCID code as well, but this isn't wrong since the check is cheap and happens infrequently.
This commit is contained in:
parent
2fad1e931e
commit
a48c0be85d
1 changed files with 4 additions and 2 deletions
|
|
@ -284,14 +284,16 @@ pccard_detach_card(device_t dev)
|
|||
struct pccard_softc *sc = PCCARD_SOFTC(dev);
|
||||
struct pccard_function *pf;
|
||||
struct pccard_config_entry *cfe;
|
||||
int state;
|
||||
|
||||
/*
|
||||
* We are running on either the PCCARD socket's event thread
|
||||
* or in user context detaching a device by user request.
|
||||
*/
|
||||
STAILQ_FOREACH(pf, &sc->card.pf_head, pf_list) {
|
||||
int state = device_get_state(pf->dev);
|
||||
|
||||
if (pf->dev == NULL)
|
||||
continue;
|
||||
state = device_get_state(pf->dev);
|
||||
if (state == DS_ATTACHED || state == DS_BUSY)
|
||||
device_detach(pf->dev);
|
||||
if (pf->cfe != NULL)
|
||||
|
|
|
|||
Loading…
Reference in a new issue