Re: [PATCH] Phonet:fix build problem

Previous thread: Re: [PATCH]: sunvnet netdev ops conversion... by Bjørn Mork on Friday, March 20, 2009 - 4:43 am. (4 messages)

Next thread: [RFC] net: release dst entry in dev_queue_xmit() by Eric Dumazet on Friday, March 20, 2009 - 4:40 am. (28 messages)
From: Alexander Beregalov
Date: Friday, March 20, 2009 - 4:58 am

net/phonet/pep.c: In function 'pipe_rcv_status':
net/phonet/pep.c:262: error: lvalue required as left operand of assignment

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
---

 net/phonet/pep.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/net/phonet/pep.c b/net/phonet/pep.c
index 8ad2b53..9a1aefa 100644
--- a/net/phonet/pep.c
+++ b/net/phonet/pep.c
@@ -259,7 +259,8 @@ static int pipe_rcv_status(struct sock *sk, struct sk_buff *skb)
 	case PN_PEP_IND_ID_MCFC_GRANT_CREDITS:
 		if (pn->tx_fc != PN_MULTI_CREDIT_FLOW_CONTROL)
 			break;
-		atomic_add(wake = hdr->data[4], &pn->tx_credits);
+		wake = hdr->data[4];
+		atomic_add(wake, &pn->tx_credits);
 		break;
 
 	default:
--

From: David Miller
Date: Saturday, March 21, 2009 - 4:59 pm

From: Alexander Beregalov <a.beregalov@gmail.com>

What platform hits this problem?

I think that platform's atomic_add() implementation should
be fixed instead.
--

From: Alexander Beregalov
Date: Saturday, March 21, 2009 - 5:19 pm

It is parisc, CC added.
--

From: James Bottomley
Date: Saturday, March 21, 2009 - 8:58 pm

Looks like a macro argument screw up in atomic.h

This should fix it (uncompiled, of course).

James

---

diff --git a/arch/parisc/include/asm/atomic.h b/arch/parisc/include/asm/atomic.h
index edbfe25..ada3e53 100644
--- a/arch/parisc/include/asm/atomic.h
+++ b/arch/parisc/include/asm/atomic.h
@@ -25,7 +25,7 @@
  * Since "a" is usually an address, use one spinlock per cacheline.
  */
 #  define ATOMIC_HASH_SIZE 4
-#  define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) a)/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ]))
+#  define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) (a))/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ]))
 
 extern raw_spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] __lock_aligned;
 
@@ -222,13 +222,13 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
 
 #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
 
-#define atomic_add(i,v)	((void)(__atomic_add_return( ((int)i),(v))))
-#define atomic_sub(i,v)	((void)(__atomic_add_return(-((int)i),(v))))
+#define atomic_add(i,v)	((void)(__atomic_add_return( ((int)(i)),(v))))
+#define atomic_sub(i,v)	((void)(__atomic_add_return(-((int)(i)),(v))))
 #define atomic_inc(v)	((void)(__atomic_add_return(   1,(v))))
 #define atomic_dec(v)	((void)(__atomic_add_return(  -1,(v))))
 
-#define atomic_add_return(i,v)	(__atomic_add_return( ((int)i),(v)))
-#define atomic_sub_return(i,v)	(__atomic_add_return(-((int)i),(v)))
+#define atomic_add_return(i,v)	(__atomic_add_return( ((int)(i)),(v)))
+#define atomic_sub_return(i,v)	(__atomic_add_return(-((int)(i)),(v)))
 #define atomic_inc_return(v)	(__atomic_add_return(   1,(v)))
 #define atomic_dec_return(v)	(__atomic_add_return(  -1,(v)))
 
@@ -289,13 +289,13 @@ atomic64_read(const atomic64_t *v)
 	return v->counter;
 }
 
-#define atomic64_add(i,v)	((void)(__atomic64_add_return( ((s64)i),(v))))
-#define atomic64_sub(i,v)	((void)(__atomic64_add_return(-((s64)i),(v))))
+#define atomic64_add(i,v)	((void)(__atomic64_add_return( ...
From: Kyle McMartin
Date: Sunday, March 22, 2009 - 9:06 am

Looks correct to me. Applied. Thanks everyone.
--

From: Kyle McMartin
Date: Monday, March 30, 2009 - 7:41 pm

Oh, bah, want to resend that with a sign-off, James?

regards, Kyle
--

From: James Bottomley
Date: Monday, March 30, 2009 - 8:06 pm

You can add:

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

James


--

From: Kyle McMartin
Date: Monday, March 30, 2009 - 8:07 pm

Thanks! Sorted.

cheers, Kyle
--

Previous thread: Re: [PATCH]: sunvnet netdev ops conversion... by Bjørn Mork on Friday, March 20, 2009 - 4:43 am. (4 messages)

Next thread: [RFC] net: release dst entry in dev_queue_xmit() by Eric Dumazet on Friday, March 20, 2009 - 4:40 am. (28 messages)