cuart: fix etu calculation
Change-Id: Ib2f83654bdaae5090bb1dfd75e0906551d6b6aa7
diff --git a/ccid_common/cuart.c b/ccid_common/cuart.c
index 9a68167..1ae50c6 100644
--- a/ccid_common/cuart.c
+++ b/ccid_common/cuart.c
@@ -29,8 +29,12 @@
/* obtain the current ETU in us */
static int get_etu_in_us(struct card_uart *cuart)
{
- /* FIXME: actually implement this based on the real baud rate */
- return (1000000/9600);
+ OSMO_ASSERT(cuart);
+ OSMO_ASSERT(cuart->driver);
+ OSMO_ASSERT(cuart->driver->ops);
+ OSMO_ASSERT(cuart->driver->ops->ctrl);
+
+ return 1e6 / cuart->driver->ops->ctrl(cuart, CUART_CTL_GET_BAUDRATE, 0);
}
/* software waiting-time timer has expired */