diff options
author | Nicolas Morey-Chaisemartin <nmorey@kalray.eu> | 2015-11-10 16:51:02 +0100 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-12-08 17:12:42 +0300 |
commit | ed10cea199461c939e379e4459edac96764a5df9 (patch) | |
tree | c13715c81ffc8a4f9929089f58a201be1344fae7 /platform | |
parent | 994d8d029fc804b7d5d22c503abb5049d70c3d86 (diff) |
linux-generic: pktio: check interface mode is compatible before receiving or sending
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 | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/platform/linux-generic/odp_packet_io.c b/platform/linux-generic/odp_packet_io.c index c3bc6a0d3..4d574ade9 100644 --- a/platform/linux-generic/odp_packet_io.c +++ b/platform/linux-generic/odp_packet_io.c @@ -378,7 +378,8 @@ int odp_pktio_recv(odp_pktio_t id, odp_packet_t pkt_table[], int len) return -1; lock_entry(pktio_entry); - if (pktio_entry->s.state == STATE_STOP) { + if (pktio_entry->s.state == STATE_STOP || + pktio_entry->s.param.in_mode == ODP_PKTIN_MODE_DISABLED) { unlock_entry(pktio_entry); __odp_errno = EPERM; return -1; @@ -404,7 +405,8 @@ int odp_pktio_send(odp_pktio_t id, odp_packet_t pkt_table[], int len) return -1; lock_entry(pktio_entry); - if (pktio_entry->s.state == STATE_STOP) { + if (pktio_entry->s.state == STATE_STOP || + pktio_entry->s.param.out_mode == ODP_PKTOUT_MODE_DISABLED) { unlock_entry(pktio_entry); __odp_errno = EPERM; return -1; |