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 <el...@linaro.org>
---
 drivers/net/ipa/gsi.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c
index 178d6ec2699eb..eae8ed83c1004 100644
--- a/drivers/net/ipa/gsi.c
+++ b/drivers/net/ipa/gsi.c
@@ -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;
 
-- 
2.20.1

Reply via email to