@@ -1894,12 +1894,15 @@ static void gsi_channel_exit_one(struct gsi_channel *channel)
/* Init function for channels */
static int gsi_channel_init(struct gsi *gsi, u32 count,
- const struct ipa_gsi_endpoint_data *data,
- bool modem_alloc)
+ const struct ipa_gsi_endpoint_data *data)
{
+ bool modem_alloc;
int ret = 0;
u32 i;
+ /* IPA v4.2 requires the AP to allocate channels for the modem */
+ modem_alloc = gsi->version == IPA_VERSION_4_2;
+
gsi_evt_ring_init(gsi);
/* The endpoint data array is indexed by endpoint name */
@@ -1961,14 +1964,10 @@ int gsi_init(struct gsi *gsi, struct platform_device *pdev,
struct resource *res;
resource_size_t size;
unsigned int irq;
- bool modem_alloc;
int ret;
gsi_validate_build();
- /* IPA v4.2 requires the AP to allocate channels for the modem */
- modem_alloc = version == IPA_VERSION_4_2;
-
gsi->dev = dev;
gsi->version = version;
@@ -2014,7 +2013,7 @@ int gsi_init(struct gsi *gsi, struct platform_device *pdev,
goto err_free_irq;
}
- ret = gsi_channel_init(gsi, count, data, modem_alloc);
+ ret = gsi_channel_init(gsi, count, data);
if (ret)
goto err_iounmap;
A quirk of IPA v4.2 requires the AP to allocate the GSI channels that are owned by the modem. Rather than pass a flag argument to gsi_channel_init(), use the IPA version directly in that function to determine whether modem channels need to be allocated. Signed-off-by: Alex Elder <elder@linaro.org> --- drivers/net/ipa/gsi.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) -- 2.20.1