On Mon, Dec 19, 2011 at 02:00:59PM -0800, Wey-Yi Guy wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > The ICT code erroneously uses PAGE_SIZE. The bug > is that PAGE_SIZE isn't necessarily 4096, so on > such platforms this code will not work correctly > as we'll try to attempt to read an index in the > table that the device never wrote, it always has > 4096-byte pages. > > Additionally, the manual alignment code here is > unnecessary -- Documentation/DMA-API-HOWTO.txt > states: > The cpu return address and the DMA bus master address are both > guaranteed to be aligned to the smallest PAGE_SIZE order which > is greater than or equal to the requested size. This invariant > exists (for example) to guarantee that if you allocate a chunk > which is smaller than or equal to 64 kilobytes, the extent of the > buffer you receive will not cross a 64K boundary. > > Just use appropriate new constants and get rid of > the alignment code. > > Cc: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@xxxxxxxxx> This seems like a big patch. It is a bit late in the release cycle to rewrite all the DMA allocation code. :-) What platforms does this affect? Are there actual users involved? John -- John W. Linville Someday the world will need a hero, and you linville@xxxxxxxxxxxxx might be all we have. Be ready. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html