Commit 02d2d2ea authored by M Chetan Kumar's avatar M Chetan Kumar Committed by David S. Miller
Browse files

net: wwan: iosm: fix invalid mux header type



Data stall seen during peak DL throughput test & packets are
dropped by mux layer due to invalid header type in datagram.

During initlization Mux aggregration protocol is set to default
UL/DL size and TD count of Mux lite protocol. This configuration
mismatch between device and driver is resulting in data stall/packet
drops.

Override the UL/DL size and TD count for Mux aggregation protocol.

Fixes: 1f52d7b6 ("net: wwan: iosm: Enable M.2 7360 WWAN card support")
Signed-off-by: default avatarM Chetan Kumar <m.chetan.kumar@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 035e3bef
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -91,6 +91,14 @@ void ipc_imem_wwan_channel_init(struct iosm_imem *ipc_imem,
	}

	ipc_chnl_cfg_get(&chnl_cfg, ipc_imem->nr_of_channels);

	if (ipc_imem->mmio->mux_protocol == MUX_AGGREGATION &&
	    ipc_imem->nr_of_channels == IPC_MEM_IP_CHL_ID_0) {
		chnl_cfg.ul_nr_of_entries = IPC_MEM_MAX_TDS_MUX_AGGR_UL;
		chnl_cfg.dl_nr_of_entries = IPC_MEM_MAX_TDS_MUX_AGGR_DL;
		chnl_cfg.dl_buf_size = IPC_MEM_MAX_ADB_BUF_SIZE;
	}

	ipc_imem_channel_init(ipc_imem, IPC_CTYPE_WWAN, chnl_cfg,
			      IRQ_MOD_OFF);

+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@

#define IPC_MEM_MAX_UL_DG_ENTRIES	100
#define IPC_MEM_MAX_TDS_MUX_AGGR_UL	60
#define IPC_MEM_MAX_TDS_MUX_AGGR_DL	60

#define IPC_MEM_MAX_ADB_BUF_SIZE (16 * 1024)
#define IPC_MEM_MAX_UL_ADB_BUF_SIZE IPC_MEM_MAX_ADB_BUF_SIZE