aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/ib_smc.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2010-09-16 03:23:45 +0100
committerMichael Brown <mcb30@ipxe.org>2010-09-16 03:30:45 +0100
commit09555826e9737cbe94be99331934d2e6a1e6c8be (patch)
tree2e356c0db029cbba37519b912e8b4edc8f51eb88 /src/include/ipxe/ib_smc.h
parent5e697b64a57d18f508bdbe29093e78dc7e4af1be (diff)
downloadipxe-09555826e9737cbe94be99331934d2e6a1e6c8be.tar.gz
[infiniband] Always call ib_link_state_changed() in ib_smc_update()
ib_smc_update() potentially updates the Infiniband port state, and so should almost always be followed by a call to ib_link_state_changed(). The one exception is the call made to ib_smc_update() before the device is registered. Fix by removing explicit calls to ib_link_state_changed() from drivers using ib_smc_update(), including a call to ib_link_state_changed() within ib_smc_update(), and creating a separate ib_smc_init() for use prior to device registration. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/ib_smc.h')
-rw-r--r--src/include/ipxe/ib_smc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/include/ipxe/ib_smc.h b/src/include/ipxe/ib_smc.h
index d16a37fa3..259d2cde1 100644
--- a/src/include/ipxe/ib_smc.h
+++ b/src/include/ipxe/ib_smc.h
@@ -14,7 +14,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
typedef int ( * ib_local_mad_t ) ( struct ib_device *ibdev,
union ib_mad *mad );
-extern int ib_smc_update ( struct ib_device *ibdev,
- ib_local_mad_t local_mad );
+extern int ib_smc_init ( struct ib_device *ibdev, ib_local_mad_t local_mad );
+extern int ib_smc_update ( struct ib_device *ibdev, ib_local_mad_t local_mad );
#endif /* _IPXE_IB_SMC_H */