]> git.itanic.dy.fi Git - linux-stable/blobdiff - drivers/net/ipa/ipa_qmi.c
net: ipa: properly limit modem routing table use
[linux-stable] / drivers / net / ipa / ipa_qmi.c
index ec010cf2e816a9f46336a66a3d52f4bb827c20fd..6f874f99b910cd65805b62cc73c868204a23f58b 100644 (file)
@@ -308,12 +308,12 @@ init_modem_driver_req(struct ipa_qmi *ipa_qmi)
        mem = ipa_mem_find(ipa, IPA_MEM_V4_ROUTE);
        req.v4_route_tbl_info_valid = 1;
        req.v4_route_tbl_info.start = ipa->mem_offset + mem->offset;
-       req.v4_route_tbl_info.count = mem->size / sizeof(__le64);
+       req.v4_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1;
 
        mem = ipa_mem_find(ipa, IPA_MEM_V6_ROUTE);
        req.v6_route_tbl_info_valid = 1;
        req.v6_route_tbl_info.start = ipa->mem_offset + mem->offset;
-       req.v6_route_tbl_info.count = mem->size / sizeof(__le64);
+       req.v6_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1;
 
        mem = ipa_mem_find(ipa, IPA_MEM_V4_FILTER);
        req.v4_filter_tbl_start_valid = 1;
@@ -352,7 +352,7 @@ init_modem_driver_req(struct ipa_qmi *ipa_qmi)
                req.v4_hash_route_tbl_info_valid = 1;
                req.v4_hash_route_tbl_info.start =
                                ipa->mem_offset + mem->offset;
-               req.v4_hash_route_tbl_info.count = mem->size / sizeof(__le64);
+               req.v4_hash_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1;
        }
 
        mem = ipa_mem_find(ipa, IPA_MEM_V6_ROUTE_HASHED);
@@ -360,7 +360,7 @@ init_modem_driver_req(struct ipa_qmi *ipa_qmi)
                req.v6_hash_route_tbl_info_valid = 1;
                req.v6_hash_route_tbl_info.start =
                        ipa->mem_offset + mem->offset;
-               req.v6_hash_route_tbl_info.count = mem->size / sizeof(__le64);
+               req.v6_hash_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1;
        }
 
        mem = ipa_mem_find(ipa, IPA_MEM_V4_FILTER_HASHED);