Re: [PATCH 3.2] iwlagn: fix (remove) use of PAGE_SIZE
From: Emmanuel Grumbach <hidden>
Date: 2011-12-22 06:06:42
quoted
quoted
quoted
quoted
From: Johannes Berg <redacted> 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 <redacted> Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg <redacted> Signed-off-by: Wey-Yi Guy <redacted>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?I understand the patch is bigger than the regular patch should be generated for stable kernel. Johannes can explain better, but he is on vacation. as what I understood, he work with community user who encounter issue and root cause it is PAGE SIZE cause the problem. Thanks WeyUnless someone screams, I'd be a lot more comfortable saving this for 3.3.unless Johannes has objection, I am ok for 3.3, it is not something people will encounter everyday on common platform..
Please note that this patch has two parts: one does the real stuff (very small), and the other removes unneeded DAM alignment code (big part). I guess it can wait to 3.3 and the small part will then be posted to stable.