lkml.org 
[lkml]   [2009]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: Strange network timeouts w/ 2.6.30.5
    From
    Date
    Walt Holman <walt@holmansrus.com> writes:

    > dmesg is attached. This box does have >2GB Ram (6GB total). The dmesg
    > will show e100 init'd 3 times since the first is the stock modprobe,
    > 2nd was forced with use_io and the 3rd modprobe was after reverting
    > the patch.

    You most probably can't test without swiotlb (RAM has to be limited to
    2 GB or so), can you? That would (dis)prove my theory. Alternatively (or
    better), a test on IOMMU-equipped system would do.

    Since swiotlb is x86-only thing (though other 64-bit archs may have
    something similar), I think the correct work around is to enable the
    "for_device" handoff on !X86.

    Something like maybe:

    Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>

    diff --git a/drivers/net/e100.c b/drivers/net/e100.c
    index 014dfb6..b610088 100644
    --- a/drivers/net/e100.c
    +++ b/drivers/net/e100.c
    @@ -1762,9 +1762,12 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,

    if (ioread8(&nic->csr->scb.status) & rus_no_res)
    nic->ru_running = RU_SUSPENDED;
    +#ifndef CONFIG_X86
    + /* FIXME interferes with swiotlb. */
    pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr,
    sizeof(struct rfd),
    PCI_DMA_BIDIRECTIONAL);
    +#endif
    return -ENODATA;
    }

    --
    Krzysztof Halasa
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2009-08-20 15:49    [W:0.022 / U:60.592 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site