netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-30 23:18   ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Michael Chan
@ 2014-05-30 22:33     ` Benjamin Poirier
  2014-06-02 20:31       ` Michael Chan
  2014-05-30 22:50     ` Benjamin Poirier
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Benjamin Poirier @ 2014-05-30 22:33 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, nhorman

On 2014/05/30 16:18, Michael Chan wrote:
> We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> the only call manipulating the cnic_udev_list and it is always under
> rtnl_lock, cnic_dev_lock can be safely removed.

In that case, the many other instances of cnic_dev_lock throughout cnic
should also be removed, no?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-30 23:18   ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Michael Chan
  2014-05-30 22:33     ` Benjamin Poirier
@ 2014-05-30 22:50     ` Benjamin Poirier
  2014-05-31  5:40       ` Michael Chan
  2014-05-30 23:18     ` [PATCH 3/3] cnic: Fix missing ISCSI_KEVENT_IF_DOWN message Michael Chan
  2014-05-31 13:07     ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Neil Horman
  3 siblings, 1 reply; 14+ messages in thread
From: Benjamin Poirier @ 2014-05-30 22:50 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, nhorman

On 2014/05/30 16:18, Michael Chan wrote:
> We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> the only call manipulating the cnic_udev_list and it is always under
> rtnl_lock, cnic_dev_lock can be safely removed.
> 
> Signed-off-by: Michael Chan <mchan@broadcom.com>
> ---
>  drivers/net/ethernet/broadcom/cnic.c |    6 ------
>  1 files changed, 0 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
> index 7f40a2c..4ebab75 100644
> --- a/drivers/net/ethernet/broadcom/cnic.c
> +++ b/drivers/net/ethernet/broadcom/cnic.c
> @@ -1039,21 +1039,17 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
>  	struct cnic_local *cp = dev->cnic_priv;
>  	struct cnic_uio_dev *udev;
>  
> -	read_lock(&cnic_dev_lock);
>  	list_for_each_entry(udev, &cnic_udev_list, list) {
>  		if (udev->pdev == dev->pcidev) {
>  			udev->dev = dev;
>  			if (__cnic_alloc_uio_rings(udev, pages)) {
>  				udev->dev = NULL;
> -				read_unlock(&cnic_dev_lock);
>  				return -ENOMEM;
>  			}
>  			cp->udev = udev;
> -			read_unlock(&cnic_dev_lock);
>  			return 0;
>  		}
>  	}
> -	read_unlock(&cnic_dev_lock);
>  
>  	udev = kzalloc(sizeof(struct cnic_uio_dev), GFP_ATOMIC);

Oh, and you could also make the above GFP_KERNEL. Sorry for not
mentioning it in my previous mail.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 0/3] cnic fixes.
@ 2014-05-30 23:18 Michael Chan
  2014-05-30 23:18 ` [PATCH 1/3] cnic: Don't take rcu_read_lock in cnic_rcv_netevent() Michael Chan
  2014-06-02 23:53 ` [PATCH 0/3] cnic fixes David Miller
  0 siblings, 2 replies; 14+ messages in thread
From: Michael Chan @ 2014-05-30 23:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, nhorman, Michael Chan

Fix 2 sleeping function from invalid context bugs and 1 missing iscsi netlink
message bug.

Michael Chan (3):
  cnic: Don't take rcu_read_lock in cnic_rcv_netevent()
  cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  cnic: Fix missing ISCSI_KEVENT_IF_DOWN message

 drivers/net/ethernet/broadcom/cnic.c |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 deletions(-)

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/3] cnic: Don't take rcu_read_lock in cnic_rcv_netevent()
  2014-05-30 23:18 [PATCH 0/3] cnic fixes Michael Chan
@ 2014-05-30 23:18 ` Michael Chan
  2014-05-30 23:18   ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Michael Chan
  2014-06-02 23:53 ` [PATCH 0/3] cnic fixes David Miller
  1 sibling, 1 reply; 14+ messages in thread
From: Michael Chan @ 2014-05-30 23:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, nhorman, Michael Chan

Because the called function, such as bnx2fc_indicate_netevent(), can sleep,
we cannot take rcu_lock().  To prevent the rcu protected ulp_ops from going
away, we use the cnic_lock mutex and set the ULP_F_CALL_PENDING flag.
The code already waits for ULP_F_CALL_PENDING flag to clear in
cnic_unregister_device().

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/ethernet/broadcom/cnic.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
index 09f3fef..7f40a2c 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -5624,20 +5624,27 @@ static void cnic_rcv_netevent(struct cnic_local *cp, unsigned long event,
 {
 	int if_type;
 
-	rcu_read_lock();
 	for (if_type = 0; if_type < MAX_CNIC_ULP_TYPE; if_type++) {
 		struct cnic_ulp_ops *ulp_ops;
 		void *ctx;
 
-		ulp_ops = rcu_dereference(cp->ulp_ops[if_type]);
-		if (!ulp_ops || !ulp_ops->indicate_netevent)
+		mutex_lock(&cnic_lock);
+		ulp_ops = rcu_dereference_protected(cp->ulp_ops[if_type],
+						lockdep_is held(&cnic_lock));
+		if (!ulp_ops || !ulp_ops->indicate_netevent) {
+			mutex_unlock(&cnic_lock);
 			continue;
+		}
 
 		ctx = cp->ulp_handle[if_type];
 
+		set_bit(ULP_F_CALL_PENDING, &cp->ulp_flags[if_type]);
+		mutex_unlock(&cnic_lock);
+
 		ulp_ops->indicate_netevent(ctx, event, vlan_id);
+
+		clear_bit(ULP_F_CALL_PENDING, &cp->ulp_flags[if_type]);
 	}
-	rcu_read_unlock();
 }
 
 /* netdev event handler */
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-30 23:18 ` [PATCH 1/3] cnic: Don't take rcu_read_lock in cnic_rcv_netevent() Michael Chan
@ 2014-05-30 23:18   ` Michael Chan
  2014-05-30 22:33     ` Benjamin Poirier
                       ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Michael Chan @ 2014-05-30 23:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, nhorman, Michael Chan

We are allocating memory with GFP_KERNEL under spinlock.  Since this is
the only call manipulating the cnic_udev_list and it is always under
rtnl_lock, cnic_dev_lock can be safely removed.

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/ethernet/broadcom/cnic.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
index 7f40a2c..4ebab75 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -1039,21 +1039,17 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
 	struct cnic_local *cp = dev->cnic_priv;
 	struct cnic_uio_dev *udev;
 
-	read_lock(&cnic_dev_lock);
 	list_for_each_entry(udev, &cnic_udev_list, list) {
 		if (udev->pdev == dev->pcidev) {
 			udev->dev = dev;
 			if (__cnic_alloc_uio_rings(udev, pages)) {
 				udev->dev = NULL;
-				read_unlock(&cnic_dev_lock);
 				return -ENOMEM;
 			}
 			cp->udev = udev;
-			read_unlock(&cnic_dev_lock);
 			return 0;
 		}
 	}
-	read_unlock(&cnic_dev_lock);
 
 	udev = kzalloc(sizeof(struct cnic_uio_dev), GFP_ATOMIC);
 	if (!udev)
@@ -1067,9 +1063,7 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
 	if (__cnic_alloc_uio_rings(udev, pages))
 		goto err_udev;
 
-	write_lock(&cnic_dev_lock);
 	list_add(&udev->list, &cnic_udev_list);
-	write_unlock(&cnic_dev_lock);
 
 	pci_dev_get(udev->pdev);
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/3] cnic: Fix missing ISCSI_KEVENT_IF_DOWN message
  2014-05-30 23:18   ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Michael Chan
  2014-05-30 22:33     ` Benjamin Poirier
  2014-05-30 22:50     ` Benjamin Poirier
@ 2014-05-30 23:18     ` Michael Chan
  2014-05-31 13:07     ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Neil Horman
  3 siblings, 0 replies; 14+ messages in thread
From: Michael Chan @ 2014-05-30 23:18 UTC (permalink / raw)
  To: davem; +Cc: netdev, nhorman, Michael Chan

The iSCSI netlink message needs to be sent before the ulp_ops is cleared
as it is sent through a function pointer in the ulp_ops.  This bug
causes iscsid to not get the message when the bnx2i driver is unloaded.

Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/ethernet/broadcom/cnic.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
index 4ebab75..565fb31 100644
--- a/drivers/net/ethernet/broadcom/cnic.c
+++ b/drivers/net/ethernet/broadcom/cnic.c
@@ -608,6 +608,10 @@ static int cnic_unregister_device(struct cnic_dev *dev, int ulp_type)
 		pr_err("%s: Bad type %d\n", __func__, ulp_type);
 		return -EINVAL;
 	}
+
+	if (ulp_type == CNIC_ULP_ISCSI)
+		cnic_send_nlmsg(cp, ISCSI_KEVENT_IF_DOWN, NULL);
+
 	mutex_lock(&cnic_lock);
 	if (rcu_dereference(cp->ulp_ops[ulp_type])) {
 		RCU_INIT_POINTER(cp->ulp_ops[ulp_type], NULL);
@@ -620,9 +624,7 @@ static int cnic_unregister_device(struct cnic_dev *dev, int ulp_type)
 	}
 	mutex_unlock(&cnic_lock);
 
-	if (ulp_type == CNIC_ULP_ISCSI)
-		cnic_send_nlmsg(cp, ISCSI_KEVENT_IF_DOWN, NULL);
-	else if (ulp_type == CNIC_ULP_FCOE)
+	if (ulp_type == CNIC_ULP_FCOE)
 		dev->fcoe_cap = NULL;
 
 	synchronize_rcu();
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-30 22:50     ` Benjamin Poirier
@ 2014-05-31  5:40       ` Michael Chan
  0 siblings, 0 replies; 14+ messages in thread
From: Michael Chan @ 2014-05-31  5:40 UTC (permalink / raw)
  To: Benjamin Poirier; +Cc: davem, netdev, nhorman

On Fri, 2014-05-30 at 15:50 -0700, Benjamin Poirier wrote: 
> On 2014/05/30 16:18, Michael Chan wrote:
> > We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> > the only call manipulating the cnic_udev_list and it is always under
> > rtnl_lock, cnic_dev_lock can be safely removed.
> > 
> > Signed-off-by: Michael Chan <mchan@broadcom.com>
> > ---
> >  drivers/net/ethernet/broadcom/cnic.c |    6 ------
> >  1 files changed, 0 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
> > index 7f40a2c..4ebab75 100644
> > --- a/drivers/net/ethernet/broadcom/cnic.c
> > +++ b/drivers/net/ethernet/broadcom/cnic.c
> > @@ -1039,21 +1039,17 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
> >  	struct cnic_local *cp = dev->cnic_priv;
> >  	struct cnic_uio_dev *udev;
> >  
> > -	read_lock(&cnic_dev_lock);
> >  	list_for_each_entry(udev, &cnic_udev_list, list) {
> >  		if (udev->pdev == dev->pcidev) {
> >  			udev->dev = dev;
> >  			if (__cnic_alloc_uio_rings(udev, pages)) {
> >  				udev->dev = NULL;
> > -				read_unlock(&cnic_dev_lock);
> >  				return -ENOMEM;
> >  			}
> >  			cp->udev = udev;
> > -			read_unlock(&cnic_dev_lock);
> >  			return 0;
> >  		}
> >  	}
> > -	read_unlock(&cnic_dev_lock);
> >  
> >  	udev = kzalloc(sizeof(struct cnic_uio_dev), GFP_ATOMIC);
> 
> Oh, and you could also make the above GFP_KERNEL. Sorry for not
> mentioning it in my previous mail.

Thanks for pointing this out.  We can do that in a separate patch.  It
is related but not part of this bug fix.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-30 23:18   ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Michael Chan
                       ` (2 preceding siblings ...)
  2014-05-30 23:18     ` [PATCH 3/3] cnic: Fix missing ISCSI_KEVENT_IF_DOWN message Michael Chan
@ 2014-05-31 13:07     ` Neil Horman
  2014-06-01  0:07       ` Michael Chan
  3 siblings, 1 reply; 14+ messages in thread
From: Neil Horman @ 2014-05-31 13:07 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev

On Fri, May 30, 2014 at 04:18:42PM -0700, Michael Chan wrote:
> We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> the only call manipulating the cnic_udev_list and it is always under
> rtnl_lock, cnic_dev_lock can be safely removed.
> 
 I don't think this is accurate.  cnic_alloc_uio_rings seems to protect the list
with cnic_dev_lock, but has several paths (those calling ->alloc_resc()), that
never hold the rtnl_lock.

Neil

> Signed-off-by: Michael Chan <mchan@broadcom.com>
> ---
>  drivers/net/ethernet/broadcom/cnic.c |    6 ------
>  1 files changed, 0 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c
> index 7f40a2c..4ebab75 100644
> --- a/drivers/net/ethernet/broadcom/cnic.c
> +++ b/drivers/net/ethernet/broadcom/cnic.c
> @@ -1039,21 +1039,17 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
>  	struct cnic_local *cp = dev->cnic_priv;
>  	struct cnic_uio_dev *udev;
>  
> -	read_lock(&cnic_dev_lock);
>  	list_for_each_entry(udev, &cnic_udev_list, list) {
>  		if (udev->pdev == dev->pcidev) {
>  			udev->dev = dev;
>  			if (__cnic_alloc_uio_rings(udev, pages)) {
>  				udev->dev = NULL;
> -				read_unlock(&cnic_dev_lock);
>  				return -ENOMEM;
>  			}
>  			cp->udev = udev;
> -			read_unlock(&cnic_dev_lock);
>  			return 0;
>  		}
>  	}
> -	read_unlock(&cnic_dev_lock);
>  
>  	udev = kzalloc(sizeof(struct cnic_uio_dev), GFP_ATOMIC);
>  	if (!udev)
> @@ -1067,9 +1063,7 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
>  	if (__cnic_alloc_uio_rings(udev, pages))
>  		goto err_udev;
>  
> -	write_lock(&cnic_dev_lock);
>  	list_add(&udev->list, &cnic_udev_list);
> -	write_unlock(&cnic_dev_lock);
>  
>  	pci_dev_get(udev->pdev);
>  
> -- 
> 1.7.1
> 
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-31 13:07     ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Neil Horman
@ 2014-06-01  0:07       ` Michael Chan
  0 siblings, 0 replies; 14+ messages in thread
From: Michael Chan @ 2014-06-01  0:07 UTC (permalink / raw)
  To: Neil Horman; +Cc: davem, netdev

On Sat, 2014-05-31 at 09:07 -0400, Neil Horman wrote: 
> On Fri, May 30, 2014 at 04:18:42PM -0700, Michael Chan wrote:
> > We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> > the only call manipulating the cnic_udev_list and it is always under
> > rtnl_lock, cnic_dev_lock can be safely removed.
> > 
>  I don't think this is accurate.  cnic_alloc_uio_rings seems to protect the list
> with cnic_dev_lock, but has several paths (those calling ->alloc_resc()), that
> never hold the rtnl_lock.
> 
> 
->alloc_resc() is called by cnic_start_hw().  cnic_start_hw() is called
from 2 paths.  One is from netdev events which always hold rtnl_lock.
The other path is from bnx2/bnx2x with CNIC_CTL_START_CMD.  In bnx2,
this is called during bnx2_netif_start() which is always under
rtnl_lock.  In bnx2x, it is called during bnx2x_nic_load() which is also
under rtnl_lock().  Thanks.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-05-30 22:33     ` Benjamin Poirier
@ 2014-06-02 20:31       ` Michael Chan
  2014-06-02 21:24         ` Benjamin Poirier
  0 siblings, 1 reply; 14+ messages in thread
From: Michael Chan @ 2014-06-02 20:31 UTC (permalink / raw)
  To: Benjamin Poirier; +Cc: davem, netdev, nhorman

On Fri, 2014-05-30 at 15:33 -0700, Benjamin Poirier wrote: 
> On 2014/05/30 16:18, Michael Chan wrote:
> > We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> > the only call manipulating the cnic_udev_list and it is always under
> > rtnl_lock, cnic_dev_lock can be safely removed.
> 
> In that case, the many other instances of cnic_dev_lock throughout cnic
> should also be removed, no? 

I don't think so.  cnic_dev_list still needs to be protected using
cnic_dev_lock.  cnic_register_driver() for example is not called with
rtnl_lock().

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings()
  2014-06-02 20:31       ` Michael Chan
@ 2014-06-02 21:24         ` Benjamin Poirier
  0 siblings, 0 replies; 14+ messages in thread
From: Benjamin Poirier @ 2014-06-02 21:24 UTC (permalink / raw)
  To: Michael Chan; +Cc: davem, netdev, nhorman

On 2014/06/02 13:31, Michael Chan wrote:
> On Fri, 2014-05-30 at 15:33 -0700, Benjamin Poirier wrote: 
> > On 2014/05/30 16:18, Michael Chan wrote:
> > > We are allocating memory with GFP_KERNEL under spinlock.  Since this is
> > > the only call manipulating the cnic_udev_list and it is always under
> > > rtnl_lock, cnic_dev_lock can be safely removed.
> > 
> > In that case, the many other instances of cnic_dev_lock throughout cnic
> > should also be removed, no? 
> 
> I don't think so.  cnic_dev_list still needs to be protected using
> cnic_dev_lock.  cnic_register_driver() for example is not called with
> rtnl_lock().
> 

Ah, that's right. I had not paid attention to the fact that the same
lock protected cnic_dev_list and cnic_udev_list. Thanks for pointing it
out.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] cnic fixes.
  2014-05-30 23:18 [PATCH 0/3] cnic fixes Michael Chan
  2014-05-30 23:18 ` [PATCH 1/3] cnic: Don't take rcu_read_lock in cnic_rcv_netevent() Michael Chan
@ 2014-06-02 23:53 ` David Miller
  2014-06-02 23:57   ` David Miller
  1 sibling, 1 reply; 14+ messages in thread
From: David Miller @ 2014-06-02 23:53 UTC (permalink / raw)
  To: mchan; +Cc: netdev, nhorman

From: Michael Chan <mchan@broadcom.com>
Date: Fri, 30 May 2014 16:18:40 -0700

> Fix 2 sleeping function from invalid context bugs and 1 missing iscsi netlink
> message bug.

Series applied, thanks Michael.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] cnic fixes.
  2014-06-02 23:53 ` [PATCH 0/3] cnic fixes David Miller
@ 2014-06-02 23:57   ` David Miller
  2014-06-03  0:08     ` Michael Chan
  0 siblings, 1 reply; 14+ messages in thread
From: David Miller @ 2014-06-02 23:57 UTC (permalink / raw)
  To: mchan; +Cc: netdev, nhorman

From: David Miller <davem@davemloft.net>
Date: Mon, 02 Jun 2014 16:53:36 -0700 (PDT)

> From: Michael Chan <mchan@broadcom.com>
> Date: Fri, 30 May 2014 16:18:40 -0700
> 
>> Fix 2 sleeping function from invalid context bugs and 1 missing iscsi netlink
>> message bug.
> 
> Series applied, thanks Michael.

Michael, any chance you can compile test the changes you send to me?

drivers/net/ethernet/broadcom/cnic.c: In function ‘cnic_rcv_netevent’:
drivers/net/ethernet/broadcom/cnic.c:5628:13: error: ‘lockdep_is’ undeclared (first use in this function)
drivers/net/ethernet/broadcom/cnic.c:5628:13: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/ethernet/broadcom/cnic.c:5628:13: error: expected ‘)’ before ‘held’

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] cnic fixes.
  2014-06-02 23:57   ` David Miller
@ 2014-06-03  0:08     ` Michael Chan
  0 siblings, 0 replies; 14+ messages in thread
From: Michael Chan @ 2014-06-03  0:08 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, nhorman

On Mon, 2014-06-02 at 16:57 -0700, David Miller wrote: 
> From: David Miller <davem@davemloft.net>
> Date: Mon, 02 Jun 2014 16:53:36 -0700 (PDT)
> 
> > From: Michael Chan <mchan@broadcom.com>
> > Date: Fri, 30 May 2014 16:18:40 -0700
> > 
> >> Fix 2 sleeping function from invalid context bugs and 1 missing iscsi netlink
> >> message bug.
> > 
> > Series applied, thanks Michael.
> 
> Michael, any chance you can compile test the changes you send to me?
> 
> drivers/net/ethernet/broadcom/cnic.c: In function ʽcnic_rcv_neteventʼ:
> drivers/net/ethernet/broadcom/cnic.c:5628:13: error: ʽlockdep_isʼ undeclared (first use in this function)
> drivers/net/ethernet/broadcom/cnic.c:5628:13: note: each undeclared identifier is reported only once for each function it appears in
> drivers/net/ethernet/broadcom/cnic.c:5628:13: error: expected ʽ)ʼ before ʽheldʼ

Sorry, I think LOCKDEP was not defined in my kernel.  I'll get it fixed
and resend the patches.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2014-06-03  0:08 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-30 23:18 [PATCH 0/3] cnic fixes Michael Chan
2014-05-30 23:18 ` [PATCH 1/3] cnic: Don't take rcu_read_lock in cnic_rcv_netevent() Michael Chan
2014-05-30 23:18   ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Michael Chan
2014-05-30 22:33     ` Benjamin Poirier
2014-06-02 20:31       ` Michael Chan
2014-06-02 21:24         ` Benjamin Poirier
2014-05-30 22:50     ` Benjamin Poirier
2014-05-31  5:40       ` Michael Chan
2014-05-30 23:18     ` [PATCH 3/3] cnic: Fix missing ISCSI_KEVENT_IF_DOWN message Michael Chan
2014-05-31 13:07     ` [PATCH 2/3] cnic: Don't take cnic_dev_lock in cnic_alloc_uio_rings() Neil Horman
2014-06-01  0:07       ` Michael Chan
2014-06-02 23:53 ` [PATCH 0/3] cnic fixes David Miller
2014-06-02 23:57   ` David Miller
2014-06-03  0:08     ` Michael Chan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).