diff options
author | Noralf Trønnes <[email protected]> | 2019-04-13 22:48:55 +0200 |
---|---|---|
committer | Mark Brown <[email protected]> | 2019-05-02 10:37:52 +0900 |
commit | ed86bf8ef3b5ea49230d7d7050a360b74df98ce2 (patch) | |
tree | 341520fc2cbbbf06ef66bb425bf3466e8c389da4 | |
parent | c9ba7a16d0f1d2b1e70d47296eca5f612c753825 (diff) |
spi/trace: Cap buffer contents at 64 bytes
Large transfers (64kB) doesn't show up in the trace. Not sure why, but
since printk can only display buffers up to 64 bytes in length, we only
need to store the first 64 bytes.
Cc: Uwe Kleine-König <[email protected]>
Signed-off-by: Noralf Trønnes <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
-rw-r--r-- | include/trace/events/spi.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/include/trace/events/spi.h b/include/trace/events/spi.h index aef6869f563d..0dd9171d2ad8 100644 --- a/include/trace/events/spi.h +++ b/include/trace/events/spi.h @@ -131,9 +131,11 @@ DECLARE_EVENT_CLASS(spi_transfer, __field( struct spi_transfer *, xfer ) __field( int, len ) __dynamic_array(u8, rx_buf, - spi_valid_rxbuf(msg, xfer) ? xfer->len : 0) + spi_valid_rxbuf(msg, xfer) ? + (xfer->len < 64 ? xfer->len : 64) : 0) __dynamic_array(u8, tx_buf, - spi_valid_txbuf(msg, xfer) ? xfer->len : 0) + spi_valid_txbuf(msg, xfer) ? + (xfer->len < 64 ? xfer->len : 64) : 0) ), TP_fast_assign( @@ -144,11 +146,11 @@ DECLARE_EVENT_CLASS(spi_transfer, if (spi_valid_txbuf(msg, xfer)) memcpy(__get_dynamic_array(tx_buf), - xfer->tx_buf, xfer->len); + xfer->tx_buf, __get_dynamic_array_len(tx_buf)); if (spi_valid_rxbuf(msg, xfer)) memcpy(__get_dynamic_array(rx_buf), - xfer->rx_buf, xfer->len); + xfer->rx_buf, __get_dynamic_array_len(rx_buf)); ), TP_printk("spi%d.%d %p len=%d tx=[%*phD] rx=[%*phD]", |