Fix panic when we cannot find self-id of probing nodes.

This shouldn't happen as far as the self-id buffer is vaild but
some people have this problem.

PR: kern/83999
Submitted by: Markus Wild <fbsd-lists@dudes.ch>
MFC after: 3 days
This commit is contained in:
Hidetoshi Shimokawa 2005-11-25 14:29:24 +00:00
parent 4b2095e85b
commit 9e2cdfd1d1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=152792

View File

@ -1324,6 +1324,7 @@ fw_bus_explore(struct firewire_comm *fc )
uint32_t addr;
struct fw_xfer *xfer;
struct fw_pkt *fp;
union fw_self_id *fwsid;
if(fc->status != FWBUSEXPLORE)
return;
@ -1336,7 +1337,8 @@ fw_bus_explore(struct firewire_comm *fc )
/* check link */
/* XXX we need to check phy_id first */
if (!fw_find_self_id(fc, fc->ongonode)->p0.link_active) {
fwsid = fw_find_self_id(fc, fc->ongonode);
if (!fwsid || !fwsid->p0.link_active) {
if (firewire_debug)
printf("node%d: link down\n", fc->ongonode);
fc->ongonode++;