qcacmn: Avoid adding cmd to serialization queue if disabled

Add API to fetch the vdev queue status and avoid enqueueing command
to serialization queue if the vdev queue is found to be disabled

Change-Id: If615b07dceaeb3113592f24355f254c8e70ca8a2
CRs-Fixed: 2470208
Bu işleme şunda yer alıyor:
Vivek
2019-06-13 15:04:50 +05:30
işlemeyi yapan: nshrivas
ebeveyn 420a8d3c6d
işleme 140070028c
3 değiştirilmiş dosya ile 43 ekleme ve 0 silme

Dosyayı Görüntüle

@@ -588,6 +588,16 @@ wlan_serialization_get_vdev_active_cmd_type(struct wlan_objmgr_vdev *vdev);
QDF_STATUS
wlan_ser_get_cmd_activation_status(struct wlan_objmgr_vdev *vdev);
/**
* wlan_ser_is_vdev_queue_enabled() - Return vdev queue status
* @vdev: vdev object
*
* This API return vdev queue enable status
*
* Return: true if vdev queue is enabled
*/
bool wlan_ser_is_vdev_queue_enabled(struct wlan_objmgr_vdev *vdev);
/**
* wlan_ser_validate_umac_cmd() - validate umac cmd data
* @vdev: objmgr vdev pointer

Dosyayı Görüntüle

@@ -676,6 +676,25 @@ error:
return cmd_type;
}
bool wlan_ser_is_vdev_queue_enabled(struct wlan_objmgr_vdev *vdev)
{
struct wlan_ser_vdev_obj *ser_vdev_obj;
struct wlan_serialization_vdev_queue *vdev_queue;
ser_vdev_obj = wlan_serialization_get_vdev_obj(vdev);
if (!ser_vdev_obj) {
ser_err("invalid ser_vdev_obj");
return false;
}
vdev_queue = wlan_serialization_get_vdev_queue_obj(
ser_vdev_obj, WLAN_SER_CMD_NONSCAN);
if (vdev_queue->queue_disable)
return false;
else
return true;
}
QDF_STATUS
wlan_ser_get_cmd_activation_status(struct wlan_objmgr_vdev *vdev)
{