| 662 | } |
| 663 | |
| 664 | static void |
| 665 | sfc_restart_if_required(void *arg) |
| 666 | { |
| 667 | struct sfc_adapter *sa = arg; |
| 668 | |
| 669 | /* If restart is scheduled, clear the flag and do it */ |
| 670 | if (rte_atomic32_cmpset((volatile uint32_t *)&sa->restart_required, |
| 671 | 1, 0)) { |
| 672 | sfc_adapter_lock(sa); |
| 673 | if (sa->state == SFC_ETHDEV_STARTED) |
| 674 | (void)sfc_restart(sa); |
| 675 | sfc_adapter_unlock(sa); |
| 676 | } |
| 677 | } |
| 678 | |
| 679 | void |
| 680 | sfc_schedule_restart(struct sfc_adapter *sa) |
nothing calls this directly
no test coverage detected