summaryrefslogtreecommitdiffstats
path: root/sys/dev/firewire/firewire.c
diff options
context:
space:
mode:
authorsimokawa <simokawa@FreeBSD.org>2007-04-30 10:50:53 +0000
committersimokawa <simokawa@FreeBSD.org>2007-04-30 10:50:53 +0000
commit3f3de6c76718e1fffd0c7e4c72e9a5c0126e2658 (patch)
tree1ed10f53488a44a20d1efec107c8eb8837c856d3 /sys/dev/firewire/firewire.c
parent0660149596b7c7b0fb256d808586bea44cfecef2 (diff)
downloadFreeBSD-src-3f3de6c76718e1fffd0c7e4c72e9a5c0126e2658.zip
FreeBSD-src-3f3de6c76718e1fffd0c7e4c72e9a5c0126e2658.tar.gz
Initialize configuration ROM before a bus reset.
MFC: after 3 days
Diffstat (limited to 'sys/dev/firewire/firewire.c')
-rw-r--r--sys/dev/firewire/firewire.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c
index 8b6f921..f23b0e9 100644
--- a/sys/dev/firewire/firewire.c
+++ b/sys/dev/firewire/firewire.c
@@ -419,6 +419,7 @@ firewire_attach(device_t dev)
bus_generic_attach(dev);
/* bus_reset */
+ fw_busreset(fc, FWBUSNOTREADY);
fc->ibr(fc);
return 0;
@@ -644,7 +645,7 @@ fw_reset_crom(struct firewire_comm *fc)
* Called after bus reset.
*/
void
-fw_busreset(struct firewire_comm *fc)
+fw_busreset(struct firewire_comm *fc, uint32_t new_status)
{
struct firewire_dev_comm *fdc;
struct crom_src *src;
@@ -659,7 +660,7 @@ fw_busreset(struct firewire_comm *fc)
default:
break;
}
- fc->status = FWBUSRESET;
+ fc->status = new_status;
fw_reset_csr(fc);
fw_reset_crom(fc);
OpenPOWER on IntegriCloud