diff options
author | Michael Brown | 2010-09-19 18:35:53 +0200 |
---|---|---|
committer | Michael Brown | 2010-09-21 03:12:06 +0200 |
commit | 26a50c3a11f7858753c643dce7076f2e7349465d (patch) | |
tree | 80afb2c000f1d8b381f681a4d96d9fb12ffd85f7 /src/drivers | |
parent | [infiniband] Avoid leaving uninitialised lists in struct ib_device (diff) | |
download | ipxe-26a50c3a11f7858753c643dce7076f2e7349465d.tar.gz ipxe-26a50c3a11f7858753c643dce7076f2e7349465d.tar.xz ipxe-26a50c3a11f7858753c643dce7076f2e7349465d.zip |
[infiniband] Add the notion of an Ethernet queue pair type
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/net/ipoib.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/drivers/net/ipoib.c b/src/drivers/net/ipoib.c index 52ac5f03..09c89bdc 100644 --- a/src/drivers/net/ipoib.c +++ b/src/drivers/net/ipoib.c @@ -485,6 +485,7 @@ static void ipoib_complete_recv ( struct ib_device *ibdev __unused, struct ipoib_mac ll_src; struct ipoib_peer *src; + /* Record errors */ if ( rc != 0 ) { netdev_rx_err ( netdev, iobuf, rc ); return; @@ -499,6 +500,12 @@ static void ipoib_complete_recv ( struct ib_device *ibdev __unused, return; } ipoib_hdr = iobuf->data; + if ( ! av ) { + DBGC ( ipoib, "IPoIB %p received packet without address " + "vector\n", ipoib ); + netdev_rx_err ( netdev, iobuf, -ENOTTY ); + return; + } /* Parse source address */ if ( av->gid_present ) { |