summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/atapi-cd.c
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2008-05-08 15:05:38 +0000
committerscottl <scottl@FreeBSD.org>2008-05-08 15:05:38 +0000
commit494160ee656e9d1bbcc0fb4d77980e3fd1d85da7 (patch)
tree83b682957de8bf14c63d3e91a9d3db035c744a3d /sys/dev/ata/atapi-cd.c
parent24e48584df154f3ae44e20f1fd32177f7ad0d22f (diff)
downloadFreeBSD-src-494160ee656e9d1bbcc0fb4d77980e3fd1d85da7.zip
FreeBSD-src-494160ee656e9d1bbcc0fb4d77980e3fd1d85da7.tar.gz
The BCE chips appear to have an undocumented requirement that RX frames be
aligned on an 8 byte boundary. Prior to rev 1.36 this wasn't a problem because mbuf clusters tend be naturally aligned. The switch to using split buffers with the first buffer being the embedded data area of the mbuf has broken this assumption, at least on i386, causing a complete failure of RX functionality. Fix this for now by using a full cluster for the first RX buffer. A more sophisticated approach could be done with the old buffer scheme to realign the m_data pointer with m_adj(), but I'm also not clear on performance benefits of this old scheme or the performance implications of adding an m_adj() call to every allocation.
Diffstat (limited to 'sys/dev/ata/atapi-cd.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud