qcacld-3.0: Reduce packet loss while roaming

As soon as the firmware is done with the roaming scan and about to
start hand-off, it will notify the host that the roaming is about
to start using WMI_ROAM_NOTIF_ROAM_START. The host driver will
then notify the upper layers to stop sending the packets and
the host later informs them as part of roam synch propagation
after roaming is done to start sending the packets.

Once the firmware sends the notification and if it fails to roam
for some reason, then it will send another notification
WMI_ROAM_NOTIF_ROAM_ABORT to let the host know the upper layers
to resume sending the packets again.

Introduce an operation code for the CSR roaming callback to determine
what it needs to do when called by the lower layers.

CRs-Fixed: 996949
Change-Id: I674262b95f1781747b34fb675ad179952a8ae4d1
This commit is contained in:
Varun Reddy Yeturu
2016-03-21 15:06:22 -07:00
committed by Gerrit - the friendly Code Review server
부모 0c1a00baca
커밋 f907f91deb
9개의 변경된 파일79개의 추가작업 그리고 16개의 파일을 삭제

파일 보기

@@ -1339,7 +1339,8 @@ typedef struct {
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
void (*csr_roam_synch_cb)(tpAniSirGlobal mac,
roam_offload_synch_ind *roam_synch_data,
tpSirBssDescription bss_desc_ptr, uint8_t reason);
tpSirBssDescription bss_desc_ptr,
enum sir_roam_op_code reason);
QDF_STATUS (*pe_roam_synch_cb)(tpAniSirGlobal mac,
roam_offload_synch_ind *roam_synch_data,
tpSirBssDescription bss_desc_ptr);