if (optlen != sizeof(val))
return -EINVAL;
+ if (po->rx_ring.pg_vec || po->tx_ring.pg_vec)
+ return -EBUSY;
if (copy_from_user(&val, optval, sizeof(val)))
return -EFAULT;
if (val > INT_MAX)
return -EINVAL;
- lock_sock(sk);
- if (po->rx_ring.pg_vec || po->tx_ring.pg_vec)
- ret = -EBUSY;
- else {
- po->tp_reserve = val;
- ret = 0;
- }
- release_sock(sk);
- return ret;
+ po->tp_reserve = val;
+ return 0;
}
case PACKET_LOSS:
{