From 0a4c3ecad1603c0a79ea732d39ef29d56168061b Mon Sep 17 00:00:00 2001 From: Glauber Costa Date: Tue, 8 Apr 2008 13:20:49 -0300 Subject: [PATCH] --- yaml --- r: 91020 b: refs/heads/master c: 5b3e5b7273435f8a7f83d3556a09adfd6f247e36 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/pci-nommu_64.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 20635cdb941b..643ffdc62a37 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 30db2cbf38d68f466fd34488f8312a151225c9ac +refs/heads/master: 5b3e5b7273435f8a7f83d3556a09adfd6f247e36 diff --git a/trunk/arch/x86/kernel/pci-nommu_64.c b/trunk/arch/x86/kernel/pci-nommu_64.c index c6901e751770..8d036aee2a8d 100644 --- a/trunk/arch/x86/kernel/pci-nommu_64.c +++ b/trunk/arch/x86/kernel/pci-nommu_64.c @@ -30,6 +30,7 @@ nommu_map_single(struct device *hwdev, phys_addr_t paddr, size_t size, int direction) { dma_addr_t bus = paddr; + WARN_ON(size == 0); if (!check_addr("map_single", hwdev, bus, size)) return bad_dma_address; flush_write_buffers(); @@ -58,6 +59,8 @@ static int nommu_map_sg(struct device *hwdev, struct scatterlist *sg, struct scatterlist *s; int i; + WARN_ON(nents == 0 || sg[0].length == 0); + for_each_sg(sg, s, nents, i) { BUG_ON(!sg_page(s)); s->dma_address = sg_phys(s);