From f41df38b0b75d1dd28a234d3b59141651a4b5147 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Wed, 15 Jul 2015 19:27:36 -0600 Subject: [PATCH] More CAN driver fixes: remove and unused semaphore. Looks to me that waiter counts are not being initialized --- drivers/can.c | 4 +++- include/nuttx/can.h | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/can.c b/drivers/can.c index b7be6dee515..8a893856f43 100644 --- a/drivers/can.c +++ b/drivers/can.c @@ -704,7 +704,9 @@ int can_register(FAR const char *path, FAR struct can_dev_s *dev) /* Initialize the CAN device structure */ - dev->cd_ocount = 0; + dev->cd_ocount = 0; + dev->cd_ntxwaiters = 0; + dev->cd_nrxwaiters = 0; sem_init(&dev->cd_xmit.tx_sem, 0, 0); sem_init(&dev->cd_recv.rx_sem, 0, 0); diff --git a/include/nuttx/can.h b/include/nuttx/can.h index c1f59b98829..98ce0e416cd 100644 --- a/include/nuttx/can.h +++ b/include/nuttx/can.h @@ -286,7 +286,6 @@ struct can_dev_s volatile uint8_t cd_ntxwaiters; /* Number of threads waiting to enqueue a message */ volatile uint8_t cd_nrxwaiters; /* Number of threads waiting to receive a message */ sem_t cd_closesem; /* Locks out new opens while close is in progress */ - sem_t cd_recvsem; /* Used to wakeup user waiting for space in cd_recv.buffer */ struct can_txfifo_s cd_xmit; /* Describes transmit FIFO */ struct can_rxfifo_s cd_recv; /* Describes receive FIFO */ /* List of pending RTR requests */