diff options
author | simokawa <simokawa@FreeBSD.org> | 2003-04-30 10:20:24 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2003-04-30 10:20:24 +0000 |
commit | 592c5992f5d6443d9025c0270d6cdb6dae9bb5c6 (patch) | |
tree | c4838c6990f3bc361fde181153dddf11c67c82e8 | |
parent | 807a3522172619884ad50b0c7e3323d41e3cf649 (diff) | |
download | FreeBSD-src-592c5992f5d6443d9025c0270d6cdb6dae9bb5c6.zip FreeBSD-src-592c5992f5d6443d9025c0270d6cdb6dae9bb5c6.tar.gz |
Set status to FWDEVINVAL if probe failed.
-rw-r--r-- | sys/dev/firewire/firewire.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index 853c586..7875d60 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -1357,23 +1357,20 @@ fw_bus_explore_callback(struct fw_xfer *xfer) if(xfer->resp != 0){ printf("node%d: resp=%d addr=0x%x\n", fc->ongonode, xfer->resp, fc->ongoaddr); - fc->retry_count++; - goto nextnode; + goto errnode; } if(xfer->send.buf == NULL){ printf("node%d: send.buf=NULL addr=0x%x\n", fc->ongonode, fc->ongoaddr); - fc->retry_count++; - goto nextnode; + goto errnode; } sfp = (struct fw_pkt *)xfer->send.buf; if(xfer->recv.buf == NULL){ printf("node%d: recv.buf=NULL addr=0x%x\n", fc->ongonode, fc->ongoaddr); - fc->retry_count++; - goto nextnode; + goto errnode; } rfp = (struct fw_pkt *)xfer->recv.buf; #if 0 @@ -1482,6 +1479,10 @@ nextaddr: fw_xfer_free( xfer); fw_bus_explore(fc); return; +errnode: + fc->retry_count++; + if (fc->ongodev != NULL) + fc->ongodev->status = FWDEVINVAL; nextnode: fw_xfer_free( xfer); fc->ongonode++; |