https://bugzilla.kernel.org/show_bug.cgi?id=215740 --- Comment #26 from Alan Stern (stern@xxxxxxxxxxxxxxxxxxx) --- "u8 (*buffer)[8]" means that buffer is a pointer to an array of 8 u8's, NOT an array of 8 pointers to u8. The latter would be written as "u8 *(buffer[8])" or "u8 *buffer[8]". C's syntax is notoriously difficult to understand when talking about arrays of pointers and pointers to arrays; you have to parse the declaration from the inside out and you may need to know that postfix "[]" has higher binding precedence than prefix "*". 1 and 4 don't map to anything; they are the _lengths_ of the DMA mappings. That is, the first mapping is 1 byte long and the second mapping is 4 bytes long: These are lengths in bytes, not in longs. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.