summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsimokawa <simokawa@FreeBSD.org>2003-04-30 10:20:24 +0000
committersimokawa <simokawa@FreeBSD.org>2003-04-30 10:20:24 +0000
commit592c5992f5d6443d9025c0270d6cdb6dae9bb5c6 (patch)
treec4838c6990f3bc361fde181153dddf11c67c82e8
parent807a3522172619884ad50b0c7e3323d41e3cf649 (diff)
downloadFreeBSD-src-592c5992f5d6443d9025c0270d6cdb6dae9bb5c6.zip
FreeBSD-src-592c5992f5d6443d9025c0270d6cdb6dae9bb5c6.tar.gz
Set status to FWDEVINVAL if probe failed.
-rw-r--r--sys/dev/firewire/firewire.c13
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++;
OpenPOWER on IntegriCloud