On 02/23/13 13:48, Josh Boyer wrote: > On Sat, Feb 23, 2013 at 7:01 AM, Mauro Carvalho Chehab > <mchehab@xxxxxxxxxx> wrote: >>> ------------[ cut here ]------------ >>> WARNING: at lib/dma-debug.c:933 check_unmap+0x407/0x8a0() >>> Hardware name: M720-US3 >>> skge 0000:01:09.0: DMA-API: device driver failed to check map >>> error[device address=0x0000000105d52522] [size=90 bytes] [mapped as single] >>> Modules linked in: >>> …uetooth rfkill ip6t_REJECT nf_conntrack_ipv6 nf_conntrack_ipv4 >>> nf_defrag_ipv6 nf_defrag_ipv4 xt_conntrack ip6table_filter nf_conntrack >>> ip6_tables… vhost_net tun macvtap… macvlan… nfsd auth_rpcgss nfs_acl >>> lockd… r8169… mii skge… sunrpc >> >> Funny enough, it is also a DMA error... >> >> I'm starting to suspect that maybe some change at the dma stack made >> it a little more pedantic ;) > > Yes. In 3.8. > >> Two similar errors on different drivers is enough for me to take a deeper >> look into it to solve the mystery ;) >> >> Basically, those got generated by lib/dma-debug.c. >> >> On the af9015 case, this is a simple test, done at debug_dma_map_page(). >> It checks if the area is in stack and print an error. I suspect that, on >> x86, the driver will still run, on most cases. >> >> In the case of the network driver, it detected that >> debug_dma_mapping_error() was never called. Also, I believe that the >> network driver will still work, and this is more a warning that bad >> things might happen with the driver, if the check is not done. > > No, you don't call debug_dma_mapping_error directly. That's used by the > DMA-API debugging functions itself. It's not something drivers call. > >> I _suspect_ that the network driver is calling dma_map_single() or >> dma_map_page() but not calling dma_map_error(). > > Close. It's calling pci_map_single and not calling pci_dma_mapping_error. > Those are PCI wrappers around the same functions, but that's what they > should be using. > >> The only network driver there on the list of drivers on your error is r8169. >> Weird enough, at least on linux-next, r8169 seems ok: > > Er... his error was triggered by skge, which is a network driver. > >> $ git grep -L dma_mapping_error $(git grep -l -e dma_map_single -e dma_map_page drivers/net/) > > That's the wrong function to grep for in most cases. I don't think the > prbolem is as wide-spread as you fear. > > Poma, you should probably just start filing bugs for things you hit. > In this case, the skge backtrace is just a warning but it can be fixed > up relatively easily. > https://bugzilla.redhat.com/show_bug.cgi?id=914994 Josh, Mauro thanks for the overview. :) Antti, cheers. ;) poma _______________________________________________ kernel mailing list kernel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/kernel