On 2 June 2014 18:42, Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> wrote: > Bartosz Markowski <bartosz.markowski@xxxxxxxxx> writes: > >> Firmware 10.x supports up to 8 virtual AP interfaces >> (comparing to 7 for main firmware). Previous vdev map >> initialization was missing enough space for 8 + 1 vdevs >> (we may spent one for mac monitor), due to wrong define used. >> >> Use correct one - TARGET_10X_NUM_VDEVS - for 10.x firmware. >> >> Signed-off-by: Bartosz Markowski <bartosz.markowski@xxxxxxxxx> > > So what is the actual bug you are fixing? Previously with 10.x it was > possible to get only 7 VIFs, even though we advertised 8 to user space, > and with your fix we get the full 8 VIFs? For CAC, we use one VDEV to start monitor interface. In case of 10.X firmware we advertise support up to 8 VAPs, but if we spent one for monitor interface, only 7 left. I've noticed we fail on .add_interface when trying to add 8th AP, here: bit = ffs(ar->free_vdev_map); if (bit == 0) { ret = -EBUSY; goto err; } and this lead me to initialization code for vdev_map ar->free_vdev_map = (1 << TARGET_NUM_VDEVS) - 1; We have an API split for main and 10.x firmware (incl. number of vdevs, target fw is able to handle), but here we missed this split. Ben has a valid point, the TARGET_10X_NUM_VDEVS claims to be 16, so there's an inconsistency between what we adverts to mac in max interfaces, but I'm not sure if this is such a big deal. > It would be good to clear have that in the commit log so that anyone can > understand what bug is fixed. Do you want me to send a v2 with just an updated commit (better user impact description)? (No patch content changes) -Bartosz -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html