diff options
author | Nicolas Morey-Chaisemartin <nmorey@kalray.eu> | 2015-11-10 16:51:44 +0100 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-12-08 17:12:43 +0300 |
commit | 10b79440bba75850e7873008484a187a55774eff (patch) | |
tree | de946734841e43c91a185d9dc5c2fab9944b7031 /platform | |
parent | dd15914dc298468df3e7ce907a5d2db6d5b11832 (diff) |
linux-generic: pktio: configuration functions check that interface is stopped
Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu>
Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r-- | platform/linux-generic/odp_packet_io.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index 9d5c971d0..1e9d08c02 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -438,6 +438,10 @@ int odp_pktio_inq_setdef(odp_pktio_t id, odp_queue_t queue) return -1; lock_entry(pktio_entry); + if (pktio_entry->s.state != STATE_STOP) { + unlock_entry(pktio_entry); + return -1; + } pktio_entry->s.inq_default = queue; unlock_entry(pktio_entry); @@ -476,6 +480,10 @@ int odp_pktio_inq_remdef(odp_pktio_t id) return -1; lock_entry(pktio_entry); + if (pktio_entry->s.state != STATE_STOP) { + unlock_entry(pktio_entry); + return -1; + } queue = pktio_entry->s.inq_default; qentry = queue_to_qentry(queue); @@ -756,6 +764,10 @@ int odp_pktio_promisc_mode_set(odp_pktio_t id, odp_bool_t enable) ODP_DBG("already freed pktio\n"); return -1; } + if (entry->s.state != STATE_STOP) { + unlock_entry(entry); + return -1; + } ret = entry->s.ops->promisc_mode_set(entry, enable); |