622882455a
The buffer descriptors for the ATA BestComm task are larger than the current definition for bcom_bd. This causes problems because the various bcom_... functions dereference the buffer descriptor pointer by using the array operator which doesn't work when the buffer descriptors are a different size. This patch adds the bcom_get_bd() function which uses the value in bcom_task.bd_size to calculate the offset into the BD table. This patch also changes the definition of bcom_bd to specify a data size of 0 instead of 1 so that it will never work if anyone attempts to dereference the bd list as an array (as opposed to something that might work even though it is wrong). Finally, this patch moves the definition of bcom_bd up in the file to eliminate a forward declaration. Based on patch originally written by Tim Yamin. Signed-off-by: Tim Yamin <plasm@roo.me.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> |
||
---|---|---|
.. | ||
ata.c | ||
ata.h | ||
bcom_ata_task.c | ||
bcom_fec_rx_task.c | ||
bcom_fec_tx_task.c | ||
bcom_gen_bd_rx_task.c | ||
bcom_gen_bd_tx_task.c | ||
bestcomm_priv.h | ||
bestcomm.c | ||
bestcomm.h | ||
fec.c | ||
fec.h | ||
gen_bd.c | ||
gen_bd.h | ||
Kconfig | ||
Makefile | ||
sram.c | ||
sram.h |