From: Sergey Vlasov <vsu@altlinux.ru>
To: hardware@altlinux.ru
Subject: Re: [Hardware] Re: Kernel panic в Мастер 2.4 (fealnx, Myson BC001)
Date: Sun, 19 Dec 2004 19:52:20 +0300
Message-ID: <20041219165220.GB7149@sirius.home> (raw)
In-Reply-To: <41C5A9FA.7000500@mail.ru>
[-- Attachment #1: Type: text/plain, Size: 2168 bytes --]
On Sun, Dec 19, 2004 at 06:19:06PM +0200, Yuri N. Glibovetz wrote:
> http://lists.altlinux.ru/pipermail/sisyphus/2003-December/031179.html
> http://lists.altlinux.ru/pipermail/sisyphus/2003-December/031194.html
> http://lists.altlinux.ru/pipermail/sisyphus/2003-December/031231.html
> http://lists.altlinux.ru/pipermail/sisyphus/2003-December/031258.html
> http://lists.altlinux.ru/pipermail/sisyphus/2003-December/031271.html
>
> Интересно, чем закончилась эта история?
А ничем - тогда так ничего и не раскопали.
> Кстати если верить другим источникам, место Oops локализовано.
> fealnx.c:netdev_rx:
>
> >/* Check if the packet is long enough to accept without copying
> > to a minimally-sized skbuff. */
> >if (pkt_len < rx_copybreak &&
> > (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
> > skb->dev = dev;
> > skb_reserve(skb, 2); /* 16 byte align the IP header */
> > /* Call copy + cksum if available. */
> >
> >#if ! defined(__alpha__)
> > eth_copy_and_sum(skb,
> > np->cur_rx->skbuff->tail, pkt_len, 0);
> > skb_put(skb, pkt_len);
> >#else
> > memcpy(skb_put(skb, pkt_len),
> > np->cur_rx->skbuff->tail, pkt_len);
> >#endif
> >} else {
> > skb_put(skb = np->cur_rx->skbuff, pkt_len);
> > np->cur_rx->skbuff = NULL;
> > if (np->really_rx_count == RX_RING_SIZE)
> > np->lack_rxbuf = np->cur_rx;
> > --np->really_rx_count; // <----- это здесь
> >}
В данном случае oops был в другом месте - в intr_handler():
/* Free the original skb. */
pci_unmap_single(np->pci_dev, np->cur_tx->buffer,
np->cur_tx->skbuff->len, PCI_DMA_TODEVICE);
dev_kfree_skb_irq(np->cur_tx->skbuff);
В np->cur_tx->skbuff оказался NULL.
Это весьма похоже на проблему, исправленую в 2.6 вот этим патчем:
http://linux.bkbits.net:8080/linux-2.6/cset@406b2395GEYyN1xve0b-r-4zWwj-iQ
Причём в 2.4 этого патча до сих пор нет (хотя после него в 2.6 была
целая серия из 11 патчей, которые вошли и в 2.4). Странно. Видимо,
эти карточки никому не нужны.
А вот что там за "another problem in the RX path" - не совсем понятно.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2004-12-19 16:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-19 12:50 ` Michael Shigorin
2004-12-19 16:19 ` Yuri N. Glibovetz
2004-12-19 16:52 ` Sergey Vlasov [this message]
2004-12-19 18:58 ` Yuri N. Glibovetz
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=20041219165220.GB7149@sirius.home \
--to=vsu@altlinux.ru \
--cc=hardware@altlinux.ru \
/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
ALT Linux hardware support
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/hardware/0 hardware/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 hardware hardware/ http://lore.altlinux.org/hardware \
hardware@altlinux.ru hardware@lists.altlinux.org hardware@lists.altlinux.ru hardware@lists.altlinux.com hardware@altlinux.org
public-inbox-index hardware
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.hardware
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git