if (!(dev->status & VIRTIO_CONFIG_STATUS_FEATURES_OK) ||
(!(dev->protocol_features &
(1ULL << VHOST_USER_PROTOCOL_F_STATUS))))
- return 0;
+ return -ENOTSUP;
/* Fallthrough */
case VHOST_USER_GET_FEATURES:
case VHOST_USER_GET_PROTOCOL_FEATURES:
if (!(dev->status & VIRTIO_CONFIG_STATUS_FEATURES_OK) ||
(!(dev->protocol_features &
(1ULL << VHOST_USER_PROTOCOL_F_STATUS))))
- return 0;
+ return -ENOTSUP;
if (has_reply_ack)
msg.flags |= VHOST_USER_NEED_REPLY_MASK;
/* Fallthrough */
case VHOST_USER_SET_FEATURES:
+ msg.payload.u64 = *((__u64 *)arg) |
+ 1ULL << VHOST_USER_F_PROTOCOL_FEATURES;
+ msg.size = sizeof(m.payload.u64);
+ break;
case VHOST_USER_SET_PROTOCOL_FEATURES:
case VHOST_USER_SET_LOG_BASE:
msg.payload.u64 = *((__u64 *)arg);