[PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2)
authorTejun Heo <htejun@gmail.com>
Mon, 11 Dec 2006 17:15:31 +0000 (02:15 +0900)
committerJeff Garzik <jeff@garzik.org>
Sat, 16 Dec 2006 15:13:22 +0000 (10:13 -0500)
commit33480a0ede8dcc7e6483054279008f972bd56fd3
treedb0f1ad9f3e7ba78a7f12d3a2ed3dc0e7534ac67
parentc10340aca270abb141154cd93dcf1be0b92143fc
[PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2)

Calling sg_init_one() with NULL buf causes oops on certain
configurations.  Don't initialize sg in ata_exec_internal() if
DMA_NONE and make the function complain if @buf is NULL when dma_dir
isn't DMA_NONE.  While at it, fix comment.

The problem is discovered and initial patch was submitted by Arnd
Bergmann.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-core.c