diff options
author | Michael Brown | 2009-01-02 22:04:31 +0100 |
---|---|---|
committer | Michael Brown | 2009-01-02 22:04:31 +0100 |
commit | 53a7dd26cd0aff8409e16c6cc1c7423d4a551f4b (patch) | |
tree | 84a376781898482a5b6dba32d4134d7769f020b4 /src/drivers/infiniband | |
parent | [pcbios] Add additional sanity check for bogus e820 map (diff) | |
download | ipxe-53a7dd26cd0aff8409e16c6cc1c7423d4a551f4b.tar.gz ipxe-53a7dd26cd0aff8409e16c6cc1c7423d4a551f4b.tar.xz ipxe-53a7dd26cd0aff8409e16c6cc1c7423d4a551f4b.zip |
[infiniband] Call ib_open() only when opening the IPoIB net device
Defer the call to ib_open() until we want to actually open the device,
rather than when the device is registered.
Diffstat (limited to 'src/drivers/infiniband')
-rw-r--r-- | src/drivers/infiniband/arbel.c | 4 | ||||
-rw-r--r-- | src/drivers/infiniband/hermon.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/drivers/infiniband/arbel.c b/src/drivers/infiniband/arbel.c index e9bc260e..1756a6e2 100644 --- a/src/drivers/infiniband/arbel.c +++ b/src/drivers/infiniband/arbel.c @@ -2175,6 +2175,10 @@ static int arbel_probe ( struct pci_device *pci, if ( ( rc = arbel_create_eq ( arbel ) ) != 0 ) goto err_create_eq; + /* Update MAD parameters */ + for ( i = 0 ; i < ARBEL_NUM_PORTS ; i++ ) + ib_smc_update ( arbel->ibdev[i], arbel_mad ); + /* Register Infiniband devices */ for ( i = 0 ; i < ARBEL_NUM_PORTS ; i++ ) { if ( ( rc = register_ibdev ( arbel->ibdev[i] ) ) != 0 ) { diff --git a/src/drivers/infiniband/hermon.c b/src/drivers/infiniband/hermon.c index f598a31f..40add28a 100644 --- a/src/drivers/infiniband/hermon.c +++ b/src/drivers/infiniband/hermon.c @@ -2244,6 +2244,10 @@ static int hermon_probe ( struct pci_device *pci, if ( ( rc = hermon_create_eq ( hermon ) ) != 0 ) goto err_create_eq; + /* Update MAD parameters */ + for ( i = 0 ; i < HERMON_NUM_PORTS ; i++ ) + ib_smc_update ( hermon->ibdev[i], hermon_mad ); + /* Register Infiniband devices */ for ( i = 0 ; i < HERMON_NUM_PORTS ; i++ ) { if ( ( rc = register_ibdev ( hermon->ibdev[i] ) ) != 0 ) { |