On Thu, May 13, 2010 at 10:35:14AM -0700, Roland Dreier wrote:
One reason is that get_src_path_mask() may access ah_lock.
I don't see that:
static u8 get_src_path_mask(struct ib_device *device, u8 port_num)
{
struct ib_sa_device *sa_dev;
struct ib_sa_port *port;
Eli Cohen wrote:
Roland Dreier wrote:
@@ -1007,7 +1010,7 @@ static void ib_sa_add_one(struct ib_device *device)
- sa_dev = kmalloc(sizeof *sa_dev +
+ sa_dev = kzalloc(sizeof *sa_dev +
Do you happen to remember why you needed these kmalloc - kzalloc conversions?
I can't remember
On Wed, May 12, 2010 at 12:56:58PM -0700, Roland Dreier wrote:
@@ -1017,9 +1020,12 @@ static void ib_sa_add_one(struct ib_device *device)
sa_dev-end_port = e;
for (i = 0; i = e - s; ++i) {
+ spin_lock_init(sa_dev-port[i].ah_lock);
+ if
Also I'm wondering why you did the count stuff to ignore IBoE-only
devices in multicast.c but not sa_query.c?
It seems to me the right place to put this logic as the mutlicast code
registers as an IB client and the add_one implemntation is
multicast.c.
Right, I'm not saying it
On Thu, May 13, 2010 at 08:48:06AM -0700, Roland Dreier wrote:
Right, I'm not saying it shouldn't be in multicast.c. I'm just
wondering why you don't have the same thing for sa_query.c.
One reason is that get_src_path_mask() may access ah_lock.
--
To unsubscribe from this list: send the
One reason is that get_src_path_mask() may access ah_lock.
I don't see that:
static u8 get_src_path_mask(struct ib_device *device, u8 port_num)
{
struct ib_sa_device *sa_dev;
struct ib_sa_port *port;
unsigned long flags;
u8 src_path_mask;
sa_dev =