aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorNicolas Morey-Chaisemartin <nmorey@kalray.eu>2015-11-10 16:51:02 +0100
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-12-08 17:12:42 +0300
commited10cea199461c939e379e4459edac96764a5df9 (patch)
treec13715c81ffc8a4f9929089f58a201be1344fae7 /platform
parent994d8d029fc804b7d5d22c503abb5049d70c3d86 (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.c6
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;