diff --git a/include/arch/msp430fr5969lp/driver/spi.h b/include/arch/msp430fr5969lp/driver/spi.h
index 32b9f9454845fddfea818b5c33b85b4e756fbe88..7e9510504b6a64730bad2d84b829e99ce186d415 100644
--- a/include/arch/msp430fr5969lp/driver/spi.h
+++ b/include/arch/msp430fr5969lp/driver/spi.h
@@ -14,8 +14,8 @@ class SPI {
 		SPI () {}
 		void setup();
 		signed char xmit(
-				unsigned char tx_len, unsigned char *tx_buf,
-				unsigned char rx_len, unsigned char *rx_buf);
+				unsigned int tx_len, unsigned char *tx_buf,
+				unsigned int rx_len, unsigned char *rx_buf);
 };
 
 extern SPI spi;
diff --git a/include/arch/msp430fr5994lp/driver/spi.h b/include/arch/msp430fr5994lp/driver/spi.h
index 32b9f9454845fddfea818b5c33b85b4e756fbe88..7e9510504b6a64730bad2d84b829e99ce186d415 100644
--- a/include/arch/msp430fr5994lp/driver/spi.h
+++ b/include/arch/msp430fr5994lp/driver/spi.h
@@ -14,8 +14,8 @@ class SPI {
 		SPI () {}
 		void setup();
 		signed char xmit(
-				unsigned char tx_len, unsigned char *tx_buf,
-				unsigned char rx_len, unsigned char *rx_buf);
+				unsigned int tx_len, unsigned char *tx_buf,
+				unsigned int rx_len, unsigned char *rx_buf);
 };
 
 extern SPI spi;
diff --git a/src/arch/msp430fr5969lp/driver/spi.cc b/src/arch/msp430fr5969lp/driver/spi.cc
index 4092e6e1bd2389e327a88a1c1fdde26b26a23f43..acd6f37a1ef5718356e57f55dec06418a167aee9 100644
--- a/src/arch/msp430fr5969lp/driver/spi.cc
+++ b/src/arch/msp430fr5969lp/driver/spi.cc
@@ -41,8 +41,8 @@ static inline unsigned char clean_rxbuf()
 	return UCB0RXBUF;
 }
 
-signed char SPI::xmit(unsigned char tx_len, unsigned char *tx_buf,
-		unsigned char rx_len, unsigned char *rx_buf)
+signed char SPI::xmit(unsigned int tx_len, unsigned char *tx_buf,
+		unsigned int rx_len, unsigned char *rx_buf)
 {
 	if (tx_len < 1) {
 		return -1;
diff --git a/src/arch/msp430fr5994lp/driver/spi.cc b/src/arch/msp430fr5994lp/driver/spi.cc
index e1ad2ad4d908b3413112103af5e758a644c2ad16..9659ec04c8602863e9b24804979a19653e51d669 100644
--- a/src/arch/msp430fr5994lp/driver/spi.cc
+++ b/src/arch/msp430fr5994lp/driver/spi.cc
@@ -41,8 +41,8 @@ static inline unsigned char clean_rxbuf()
 	return UCB1RXBUF;
 }
 
-signed char SPI::xmit(unsigned char tx_len, unsigned char *tx_buf,
-		unsigned char rx_len, unsigned char *rx_buf)
+signed char SPI::xmit(unsigned int tx_len, unsigned char *tx_buf,
+		unsigned int rx_len, unsigned char *rx_buf)
 {
 	if (tx_len < 1) {
 		return -1;