mirror of
https://github.com/xcat2/xNBA.git
synced 2026-03-22 22:49:18 +00:00
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>
21 lines
446 B
C
21 lines
446 B
C
#ifndef _IPXE_IB_SMC_H
|
|
#define _IPXE_IB_SMC_H
|
|
|
|
/** @file
|
|
*
|
|
* Infiniband Subnet Management Client
|
|
*
|
|
*/
|
|
|
|
FILE_LICENCE ( GPL2_OR_LATER );
|
|
|
|
#include <ipxe/infiniband.h>
|
|
|
|
typedef int ( * ib_local_mad_t ) ( struct ib_device *ibdev,
|
|
union ib_mad *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 */
|