linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christian Lamparter <chunkeey@googlemail.com>
To: Quintin Pitts <geek4linux@gmail.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>,
	"linux-wireless" <linux-wireless@vger.kernel.org>
Subject: Re: [RFC] p54pci: skb_over_panic, soft lockup, stall under flood
Date: Mon, 12 Oct 2009 10:57:10 +0200	[thread overview]
Message-ID: <200910121057.10381.chunkeey@googlemail.com> (raw)
In-Reply-To: <4AD273B2.5000607@gmail.com>

[-- Attachment #1: Type: Text/Plain, Size: 1358 bytes --]

On Monday 12 October 2009 02:09:22 Quintin Pitts wrote:
> On Sun Oct 11 2009 10:31:42 GMT-0500 (CDT), Larry Finger wrote:
> > On 10/11/2009 09:28 AM, Quintin Pitts wrote:
> > As I understand it, this patch is to fix the driver to work around
> > firmware errors. If that is correct, please state that clearly. If
> > only partially correct, then indicate which parts are to fix firmware
> > errors, and which are to fix driver errors. Has your analysis included
> > thinking about where the driver might delay to avoid firmware problems.
> 
> I think Christian has hit the nail on the head.
> Mostly flaky hardware or implementation (it8152 pci bridge) when pushed.

hmm, flaky hardware or simply incomplete linux support.
you've said that it works with win ce,
so I suppose the code is missing some important bits.

e.g.:

00:06.0 Network controller: Intersil Corporation ISL3886 [Prism Javelin/Prism Xbow] (rev 01)
Subsystem: Intersil Corporation Device 0000
Flags: bus master, medium devsel, latency 56, IRQ 217

by the looks of it, something could wrong with the latency timer value.
(what's lspci -vvnnxxx output for the card?)

I've attached a minimal patch which c&p some latency-timer related logic
from the original prism54 driver code to p54pci.
Can you please give this a try?
I don't have a p54pci available for testing right now.

Regards,
	Chr

[-- Attachment #2: p54-latency.diff --]
[-- Type: text/x-patch, Size: 865 bytes --]

diff --git a/drivers/net/wireless/p54/p54pci.c b/drivers/net/wireless/p54/p54pci.c
index d348c26..c1b1bee 100644
--- a/drivers/net/wireless/p54/p54pci.c
+++ b/drivers/net/wireless/p54/p54pci.c
@@ -473,6 +473,7 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
 	struct ieee80211_hw *dev;
 	unsigned long mem_addr, mem_len;
 	int err;
+	u8 latency;
 
 	err = pci_enable_device(pdev);
 	if (err) {
@@ -493,6 +494,12 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
 		goto err_disable_dev;
 	}
 
+	pci_read_config_byte(pdev, PCI_LATENCY_TIMER, &latency);
+	if (latency < 64) {
+		dev_info(&pdev->dev, "set latency timer\n");
+		pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 80);
+	}
+
 	if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32)) ||
 	    pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32))) {
 		dev_err(&pdev->dev, "No suitable DMA available\n");

  reply	other threads:[~2009-10-12  8:57 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-11 14:28 [RFC] p54pci: skb_over_panic, soft lockup, stall under flood Quintin Pitts
2009-10-11 15:31 ` Larry Finger
2009-10-11 19:41   ` Christian Lamparter
2009-10-12  0:26     ` Quintin Pitts
2009-10-12  0:09   ` Quintin Pitts
2009-10-12  8:57     ` Christian Lamparter [this message]
2009-10-12 13:34       ` Quintin Pitts

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200910121057.10381.chunkeey@googlemail.com \
    --to=chunkeey@googlemail.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=geek4linux@gmail.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).