svn commit: r216936 - in
projects/ofed/head/sys/ofed/drivers/infiniband: core ulp/ipoib
Jeff Roberson
jeff at FreeBSD.org
Mon Jan 3 22:59:16 UTC 2011
Author: jeff
Date: Mon Jan 3 22:59:15 2011
New Revision: 216936
URL: http://svn.freebsd.org/changeset/base/216936
Log:
- Add link_state_change calls to ipoib.
- Fix a corrupt filp pointer that can occur now that I've switched back
to kmalloc from kzalloc.
Sponsored by: Isilon Systems, iX Systems, and Panasas.
Modified:
projects/ofed/head/sys/ofed/drivers/infiniband/core/uverbs_main.c
projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c
projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
Modified: projects/ofed/head/sys/ofed/drivers/infiniband/core/uverbs_main.c
==============================================================================
--- projects/ofed/head/sys/ofed/drivers/infiniband/core/uverbs_main.c Mon Jan 3 22:58:22 2011 (r216935)
+++ projects/ofed/head/sys/ofed/drivers/infiniband/core/uverbs_main.c Mon Jan 3 22:59:15 2011 (r216936)
@@ -552,6 +552,7 @@ struct file *ib_uverbs_alloc_event_file(
ev_file->async_queue = NULL;
ev_file->is_async = is_async;
ev_file->is_closed = 0;
+ ev_file->filp = NULL;
*fd = get_unused_fd();
if (*fd < 0) {
Modified: projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c
==============================================================================
--- projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c Mon Jan 3 22:58:22 2011 (r216935)
+++ projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c Mon Jan 3 22:59:15 2011 (r216936)
@@ -660,6 +660,7 @@ int ipoib_ib_dev_down(struct ifnet *dev,
ipoib_dbg(priv, "downing ib_dev\n");
clear_bit(IPOIB_FLAG_OPER_UP, &priv->flags);
+ if_link_state_change(dev, LINK_STATE_DOWN);
/* Shutdown the P_Key thread if still active */
if (!test_bit(IPOIB_PKEY_ASSIGNED, &priv->flags)) {
Modified: projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
==============================================================================
--- projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Mon Jan 3 22:58:22 2011 (r216935)
+++ projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c Mon Jan 3 22:59:15 2011 (r216936)
@@ -855,6 +855,7 @@ ipoib_intf_alloc(const char *name)
sdl->sdl_type = IFT_INFINIBAND;
sdl->sdl_alen = dev->if_addrlen;
priv->dev = dev;
+ if_link_state_change(dev, LINK_STATE_DOWN);
bpfattach(dev, DLT_EN10MB, IPOIB_HEADER_LEN);
Modified: projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
==============================================================================
--- projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c Mon Jan 3 22:58:22 2011 (r216935)
+++ projects/ofed/head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c Mon Jan 3 22:59:15 2011 (r216936)
@@ -331,6 +331,7 @@ void ipoib_mcast_carrier_on_task(struct
ipoib_dbg(priv, "Keeping carrier off until IB port is active\n");
return;
}
+ if_link_state_change(priv->dev, LINK_STATE_UP);
}
static int ipoib_mcast_join_complete(int status,
More information about the svn-src-projects
mailing list