    uint16_t tx_len;
    uint16_t max_rx_len;
  };
  
  const int SPI_ACK_TIMEOUT = 500; // milliseconds
  const std::string SPI_DEVICE = "/dev/spidev0.0";
  
  class LockEx {
  public:
    LockEx(int fd, std::recursive_mutex &m) : fd(fd), m(m) {
 
</s> remove   if (timeout <= 0) {
 </s> add   if (timeout == 0) {
const unsigned int SPI_ACK_TIMEOUT = 500; // milliseconds
    uint16_t tx_len;
    uint16_t max_rx_len;
  };
  
const unsigned int SPI_ACK_TIMEOUT = 500; // milliseconds
  const std::string SPI_DEVICE = "/dev/spidev0.0";
  
  class LockEx {
  public:
    LockEx(int fd, std::recursive_mutex &m) : fd(fd), m(m) {
keep keep keep keep replace keep keep keep keep keep
 boardd: set min spi timeout 
selfdrive/boardd/spi.cc