mlx5: always leave one free slot in rx ring
mlx5: always leave one free slot in rx ring

Previously mlx5e_netmap_rxsync() could completely fill up the rx ring but
user space cannot tell the difference between empty and completely full, so
it would be considered as empty and the ring would be stuck forever.

This is now avoided by never making more than (ring size - 1) buffer slots
available for packet reception.

luigirizzo/netmap,luigirizzo/netmap,luigirizzo/netmap,luigirizzo/netmap,luigirizzo/netmap