Add code similar to what was done in physio to use a bounce buffer
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 16 Jan 2009 20:57:44 +0000 (12:57 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 16 Jan 2009 20:57:44 +0000 (12:57 -0800)
commit969f6a6d4b24cc47c9e5b39963806b6834b82686
tree762f424193294080100ef756f2e577613cc718f1
parent8bb1684ccbefea3081ca0f70deb732a9922f5c10
Add code similar to what was done in physio to use a bounce buffer
if user data supplied to the CAM pass-throug device is not 16-byte aligned.
The user data was previously unconditionally vmapbuf()'d and the unaligned
pointer passed through to the device layer, causing NATA to barf badly on
SATA devices.

This fixes numerous dvd burning issues on SATA-based DVD burners.

Reported-by: Hasso Tepper <hasso@estpak.ee>
sys/bus/cam/cam_periph.c
sys/bus/cam/cam_periph.h