[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/
    Walt Holman <> 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 <>

    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),
    return -ENODATA;

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