What will be the value of "brq->data.blocks" here? I don't think this has been even initialized here.Also this is what specification (6.6.30.2 Native 4KB sector behavior) mandates for large sector size native: - Sector counts shall be multiples of 8 (4KB), e.g. in SET_BLOCK_COUNT (CMD23), and CORRECTLY_PRG_SECTORS_NUM field in EXT_CSD - Arguments for read commands (CMD17/18) and write commands (CMD24/25) shall always be aligned to 8 (4KB)

So for each entry (which is for each request) in packed command header, you need to make sure that sector count is in multiple of 8 for CMD23 argument and also CMD18/CMD25 arguments (sector address) must be 4KB aligned.