On Monday 02 February 2009 06:35:15 Alex Williamson wrote: > + sg_set_buf(&sg, &promisc, sizeof(promisc)); > + > + if (!virtnet_send_command(vi, VIRTIO_NET_CTRL_RX, > + VIRTIO_NET_CTRL_RX_PROMISC, > + &sg, 1, 0)) Hmm, can we use sg_init_one(&sg, &promisc, sizeof(promisc)) then pass two sg to virtnet_send_command? ie. change virtnet_send_command to: static bool virtnet_send_command(struct virtnet_info *vi, u8 class, u8 cmd, struct scatterlist *out, struct scatterlist *in); NULL = no sg, otherwise it's assumed to be a nicely terminated sg? Neater for the callers I think... > -#define VIRTIO_NET_MAX_CTRL_ARGS 2 > +#define VIRTIO_NET_MAX_CTRL_ARGS 3 Oh, and this should probably be called VIRTNET_SEND_COMMAND_SG_MAX, and be this value minus 2 (ie. informative for the caller of virtnet_send_command). Thanks, Rusty. PS. Oh, this actual patch was fine: Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html