diff options
Diffstat (limited to 'drivers/net/wimax/i2400m/tx.c')
-rw-r--r-- | drivers/net/wimax/i2400m/tx.c | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/drivers/net/wimax/i2400m/tx.c b/drivers/net/wimax/i2400m/tx.c index a5002c8467c2..1725f2b022a2 100644 --- a/drivers/net/wimax/i2400m/tx.c +++ b/drivers/net/wimax/i2400m/tx.c | |||
@@ -287,19 +287,6 @@ enum { | |||
287 | * documents, the maximum size of each message can be up to 16KiB. | 287 | * documents, the maximum size of each message can be up to 16KiB. |
288 | */ | 288 | */ |
289 | I2400M_TX_MSG_SIZE = 16384, | 289 | I2400M_TX_MSG_SIZE = 16384, |
290 | /* | ||
291 | * 16 byte aligned MAX_MTU + 4 byte payload prefix. | ||
292 | */ | ||
293 | I2400M_MAX_MTU_ALIGN = 16, | ||
294 | I2400M_TX_PDU_SIZE = I2400M_MAX_MTU % I2400M_MAX_MTU_ALIGN | ||
295 | + I2400M_MAX_MTU + sizeof(struct i2400m_pl_data_hdr), | ||
296 | /* | ||
297 | * 256 byte aligned toal size of 12 PDUs including msg header, | ||
298 | */ | ||
299 | I2400M_TX_PDU_ALIGN = 256, | ||
300 | I2400M_TX_PDU_TOTAL_SIZE = ((I2400M_TX_PDU_SIZE * I2400M_TX_PLD_MAX | ||
301 | + sizeof(struct i2400m_msg_hdr))/I2400M_TX_PDU_ALIGN + 1) | ||
302 | * I2400M_TX_PDU_ALIGN * 2, | ||
303 | }; | 290 | }; |
304 | 291 | ||
305 | #define TAIL_FULL ((void *)~(unsigned long)NULL) | 292 | #define TAIL_FULL ((void *)~(unsigned long)NULL) |
@@ -915,8 +902,11 @@ int i2400m_tx_setup(struct i2400m *i2400m) | |||
915 | goto error_kmalloc; | 902 | goto error_kmalloc; |
916 | } | 903 | } |
917 | 904 | ||
918 | /* Warn if the calculated buffer size exceeds I2400M_TX_BUF_SIZE. */ | 905 | /* |
919 | BUILD_BUG_ON(I2400M_TX_PDU_TOTAL_SIZE > I2400M_TX_BUF_SIZE); | 906 | * Fail the build if we can't fit at least two maximum size messages |
907 | * on the TX FIFO [one being delivered while one is constructed]. | ||
908 | */ | ||
909 | BUILD_BUG_ON(2 * I2400M_TX_MSG_SIZE > I2400M_TX_BUF_SIZE); | ||
920 | spin_lock_irqsave(&i2400m->tx_lock, flags); | 910 | spin_lock_irqsave(&i2400m->tx_lock, flags); |
921 | i2400m->tx_sequence = 0; | 911 | i2400m->tx_sequence = 0; |
922 | i2400m->tx_in = 0; | 912 | i2400m->tx_in = 0; |