[Hardware] Re: Kernel panic в Мастер 2.4 (fealnx, Myson BC001)
Sergey Vlasov
vsu на altlinux.ru
Вс Дек 19 19:52:20 MSK 2004
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" - не совсем понятно.
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zz-jЖ╒∙╕Еy<╘y╙i√'╤*'Ч≤)╡('jш╚y(Ё{_=o+^╟7╛rz-jЖ╒∙╕ЕyJЕ├шiЪЫb╡ш√ыb·Лk╩Зb╔ЙФj)┘╙ща╙чЩ╚miхfz{lЪm4Ц]╣ВВ{yв⌡МОз╤ж°├g╖╣╦╖
Подробная информация о списке рассылки Hardware