netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] qla3xxx: receive path bugfixes.
@ 2007-08-20 20:32 Ron Mercer
  0 siblings, 0 replies; 5+ messages in thread
From: Ron Mercer @ 2007-08-20 20:32 UTC (permalink / raw)
  To: ron.mercer, jeff; +Cc: netdev

The following two patches fix:

An undocumented "feature" where the 4032 chip sets bit-7
of the opcode for an inbound completion if it's for a VLAN.

The access of stale data on a completion entry.

These patches were built and tested on 2.6.23-rc1.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>


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

* [PATCH 0/2] qla3xxx: receive path bugfixes.
@ 2007-10-01 18:41 Ron Mercer
  2007-10-01 18:43 ` [PATCH 1/2] qla3xxx: bugfix: Add memory barrier before accessing rx completion Ron Mercer
  2007-10-01 18:43 ` [PATCH 2/2] qla3xxx: bugfix: Fix VLAN rx completion handling Ron Mercer
  0 siblings, 2 replies; 5+ messages in thread
From: Ron Mercer @ 2007-10-01 18:41 UTC (permalink / raw)
  To: jeff; +Cc: netdev

Jeff,
This is the second submission... First was in August. Thanks, Ron

The following two patches fix:

An undocumented "feature" where the 4032 chip sets bit-7
of the opcode for an inbound completion if it's for a VLAN.

The access of stale data on a completion entry.

These patches were built and tested on 2.6.23-rc1.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>


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

* [PATCH 1/2] qla3xxx: bugfix: Add memory barrier before accessing rx completion.
  2007-10-01 18:41 [PATCH 0/2] qla3xxx: receive path bugfixes Ron Mercer
@ 2007-10-01 18:43 ` Ron Mercer
  2007-10-02 16:55   ` Jeff Garzik
  2007-10-01 18:43 ` [PATCH 2/2] qla3xxx: bugfix: Fix VLAN rx completion handling Ron Mercer
  1 sibling, 1 reply; 5+ messages in thread
From: Ron Mercer @ 2007-10-01 18:43 UTC (permalink / raw)
  To: jeff; +Cc: netdev, Ron Mercer


Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
 drivers/net/qla3xxx.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
index 69da95b..c3fe1c7 100755
--- a/drivers/net/qla3xxx.c
+++ b/drivers/net/qla3xxx.c
@@ -2248,6 +2248,7 @@ static int ql_tx_rx_clean(struct ql3_adapter *qdev,
 		qdev->rsp_consumer_index) && (work_done < work_to_do)) {
 
 		net_rsp = qdev->rsp_current;
+		rmb();
 		switch (net_rsp->opcode) {
 
 		case OPCODE_OB_MAC_IOCB_FN0:
-- 
1.5.0.rc4.16.g9e258


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

* [PATCH 2/2] qla3xxx: bugfix:  Fix VLAN rx completion handling.
  2007-10-01 18:41 [PATCH 0/2] qla3xxx: receive path bugfixes Ron Mercer
  2007-10-01 18:43 ` [PATCH 1/2] qla3xxx: bugfix: Add memory barrier before accessing rx completion Ron Mercer
@ 2007-10-01 18:43 ` Ron Mercer
  1 sibling, 0 replies; 5+ messages in thread
From: Ron Mercer @ 2007-10-01 18:43 UTC (permalink / raw)
  To: jeff; +Cc: netdev, Ron Mercer

Fix 4032 chip undocumented "feature" where bit-8 is set
if the inbound completion is for a VLAN.

Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
---
 drivers/net/qla3xxx.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
index c3fe1c7..ea15131 100755
--- a/drivers/net/qla3xxx.c
+++ b/drivers/net/qla3xxx.c
@@ -2249,6 +2249,12 @@ static int ql_tx_rx_clean(struct ql3_adapter *qdev,
 
 		net_rsp = qdev->rsp_current;
 		rmb();
+		/*
+		 * Fix 4032 chipe undocumented "feature" where bit-8 is set if the
+		 * inbound completion is for a VLAN.
+		 */
+		if (qdev->device_id == QL3032_DEVICE_ID)
+			net_rsp->opcode &= 0x7f;
 		switch (net_rsp->opcode) {
 
 		case OPCODE_OB_MAC_IOCB_FN0:
-- 
1.5.0.rc4.16.g9e258


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

* Re: [PATCH 1/2] qla3xxx: bugfix: Add memory barrier before accessing rx completion.
  2007-10-01 18:43 ` [PATCH 1/2] qla3xxx: bugfix: Add memory barrier before accessing rx completion Ron Mercer
@ 2007-10-02 16:55   ` Jeff Garzik
  0 siblings, 0 replies; 5+ messages in thread
From: Jeff Garzik @ 2007-10-02 16:55 UTC (permalink / raw)
  To: Ron Mercer; +Cc: netdev

Ron Mercer wrote:
> Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
> ---
>  drivers/net/qla3xxx.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
> index 69da95b..c3fe1c7 100755
> --- a/drivers/net/qla3xxx.c
> +++ b/drivers/net/qla3xxx.c
> @@ -2248,6 +2248,7 @@ static int ql_tx_rx_clean(struct ql3_adapter *qdev,
>  		qdev->rsp_consumer_index) && (work_done < work_to_do)) {
>  
>  		net_rsp = qdev->rsp_current;
> +		rmb();
>  		switch (net_rsp->opcode) {

applied 1-2



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

end of thread, other threads:[~2007-10-02 16:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-01 18:41 [PATCH 0/2] qla3xxx: receive path bugfixes Ron Mercer
2007-10-01 18:43 ` [PATCH 1/2] qla3xxx: bugfix: Add memory barrier before accessing rx completion Ron Mercer
2007-10-02 16:55   ` Jeff Garzik
2007-10-01 18:43 ` [PATCH 2/2] qla3xxx: bugfix: Fix VLAN rx completion handling Ron Mercer
  -- strict thread matches above, loose matches on Subject: below --
2007-08-20 20:32 [PATCH 0/2] qla3xxx: receive path bugfixes Ron Mercer

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).