Avoid two potential divisions by zero when calculating average
values for the zip statistics.

Signed-off-by: Jan Glauber <jglau...@cavium.com>
Reviewed-by: Robert Richter <rrich...@cavium.com>
---
 drivers/crypto/cavium/zip/zip_main.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/cavium/zip/zip_main.c 
b/drivers/crypto/cavium/zip/zip_main.c
index 1cd8aa488185..79b449e0f955 100644
--- a/drivers/crypto/cavium/zip/zip_main.c
+++ b/drivers/crypto/cavium/zip/zip_main.c
@@ -482,10 +482,11 @@ static int zip_show_stats(struct seq_file *s, void 
*unused)
                                atomic64_add(val, &st->pending_req);
                        }
 
-                       avg_chunk = (atomic64_read(&st->comp_in_bytes) /
-                                    atomic64_read(&st->comp_req_complete));
-                       avg_cr = (atomic64_read(&st->comp_in_bytes) /
-                                 atomic64_read(&st->comp_out_bytes));
+                       val = atomic64_read(&st->comp_req_complete);
+                       avg_chunk = (val) ? atomic64_read(&st->comp_in_bytes) / 
val : 0;
+
+                       val = atomic64_read(&st->comp_out_bytes);
+                       avg_cr = (val) ? atomic64_read(&st->comp_in_bytes) / 
val : 0;
                        seq_printf(s, "        ZIP Device %d Stats\n"
                                      "-----------------------------------\n"
                                      "Comp Req Submitted        : \t%lld\n"
-- 
2.16.2

Reply via email to