[gem] Change rx scheduling to use a semaphore to prevent RX jams