Loading drivers/net/wireless/wcnss/wcnss_wlan.c +29 −16 Original line number Diff line number Diff line Loading @@ -2123,10 +2123,8 @@ exit: return; } static void wcnssctrl_rx_handler(struct work_struct *worker) static void wcnss_process_smd_msg(int len) { int len = 0; int rc = 0; unsigned char buf[sizeof(struct wcnss_version)]; unsigned char build[WCNSS_MAX_BUILD_VER_LEN+1]; Loading @@ -2136,17 +2134,6 @@ static void wcnssctrl_rx_handler(struct work_struct *worker) int hw_type; unsigned char fw_status = 0; len = smd_read_avail(penv->smd_ch); if (len > WCNSS_MAX_FRAME_SIZE) { pr_err("wcnss: frame larger than the allowed size\n"); smd_read(penv->smd_ch, NULL, len); return; } if (len < sizeof(struct smd_msg_hdr)) { pr_err("wcnss: incomplete header available len = %d\n", len); return; } rc = smd_read(penv->smd_ch, buf, sizeof(struct smd_msg_hdr)); if (rc < sizeof(struct smd_msg_hdr)) { pr_err("wcnss: incomplete header read from smd\n"); Loading Loading @@ -2245,7 +2232,6 @@ static void wcnssctrl_rx_handler(struct work_struct *worker) penv->is_cbc_done = 1; pr_debug("wcnss: received WCNSS_CBC_COMPLETE_IND from FW\n"); break; case WCNSS_CALDATA_UPLD_REQ: extract_cal_data(len); break; Loading @@ -2256,6 +2242,33 @@ static void wcnssctrl_rx_handler(struct work_struct *worker) return; } static void wcnssctrl_rx_handler(struct work_struct *worker) { int len; while (1) { len = smd_read_avail(penv->smd_ch); if (0 == len) { pr_debug("wcnss: No more data to be read\n"); return; } if (len > WCNSS_MAX_FRAME_SIZE) { pr_err("wcnss: frame larger than the allowed size\n"); smd_read(penv->smd_ch, NULL, len); return; } if (len < sizeof(struct smd_msg_hdr)) { pr_err("wcnss: incomplete header available len = %d\n", len); return; } wcnss_process_smd_msg(len); } } static void wcnss_send_version_req(struct work_struct *worker) { struct smd_msg_hdr smd_msg; Loading Loading
drivers/net/wireless/wcnss/wcnss_wlan.c +29 −16 Original line number Diff line number Diff line Loading @@ -2123,10 +2123,8 @@ exit: return; } static void wcnssctrl_rx_handler(struct work_struct *worker) static void wcnss_process_smd_msg(int len) { int len = 0; int rc = 0; unsigned char buf[sizeof(struct wcnss_version)]; unsigned char build[WCNSS_MAX_BUILD_VER_LEN+1]; Loading @@ -2136,17 +2134,6 @@ static void wcnssctrl_rx_handler(struct work_struct *worker) int hw_type; unsigned char fw_status = 0; len = smd_read_avail(penv->smd_ch); if (len > WCNSS_MAX_FRAME_SIZE) { pr_err("wcnss: frame larger than the allowed size\n"); smd_read(penv->smd_ch, NULL, len); return; } if (len < sizeof(struct smd_msg_hdr)) { pr_err("wcnss: incomplete header available len = %d\n", len); return; } rc = smd_read(penv->smd_ch, buf, sizeof(struct smd_msg_hdr)); if (rc < sizeof(struct smd_msg_hdr)) { pr_err("wcnss: incomplete header read from smd\n"); Loading Loading @@ -2245,7 +2232,6 @@ static void wcnssctrl_rx_handler(struct work_struct *worker) penv->is_cbc_done = 1; pr_debug("wcnss: received WCNSS_CBC_COMPLETE_IND from FW\n"); break; case WCNSS_CALDATA_UPLD_REQ: extract_cal_data(len); break; Loading @@ -2256,6 +2242,33 @@ static void wcnssctrl_rx_handler(struct work_struct *worker) return; } static void wcnssctrl_rx_handler(struct work_struct *worker) { int len; while (1) { len = smd_read_avail(penv->smd_ch); if (0 == len) { pr_debug("wcnss: No more data to be read\n"); return; } if (len > WCNSS_MAX_FRAME_SIZE) { pr_err("wcnss: frame larger than the allowed size\n"); smd_read(penv->smd_ch, NULL, len); return; } if (len < sizeof(struct smd_msg_hdr)) { pr_err("wcnss: incomplete header available len = %d\n", len); return; } wcnss_process_smd_msg(len); } } static void wcnss_send_version_req(struct work_struct *worker) { struct smd_msg_hdr smd_msg; Loading