/*
- * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * Copyright (c) 2013,2016 Qualcomm Atheros, Inc.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
 
 void __wil_err(struct wil6210_priv *wil, const char *fmt, ...)
 {
-       struct net_device *ndev = wil_to_ndev(wil);
-       struct va_format vaf = {
-               .fmt = fmt,
-       };
+       struct va_format vaf;
        va_list args;
 
        va_start(args, fmt);
+       vaf.fmt = fmt;
        vaf.va = &args;
-       netdev_err(ndev, "%pV", &vaf);
+       netdev_err(wil_to_ndev(wil), "%pV", &vaf);
        trace_wil6210_log_err(&vaf);
        va_end(args);
 }
 
 void __wil_err_ratelimited(struct wil6210_priv *wil, const char *fmt, ...)
 {
-       if (net_ratelimit()) {
-               struct net_device *ndev = wil_to_ndev(wil);
-               struct va_format vaf = {
-                       .fmt = fmt,
-               };
-               va_list args;
+       struct va_format vaf;
+       va_list args;
 
-               va_start(args, fmt);
-               vaf.va = &args;
-               netdev_err(ndev, "%pV", &vaf);
-               trace_wil6210_log_err(&vaf);
-               va_end(args);
-       }
+       if (!net_ratelimit())
+               return;
+
+       va_start(args, fmt);
+       vaf.fmt = fmt;
+       vaf.va = &args;
+       netdev_err(wil_to_ndev(wil), "%pV", &vaf);
+       trace_wil6210_log_err(&vaf);
+       va_end(args);
 }
 
 void wil_dbg_ratelimited(const struct wil6210_priv *wil, const char *fmt, ...)
 
 void __wil_info(struct wil6210_priv *wil, const char *fmt, ...)
 {
-       struct net_device *ndev = wil_to_ndev(wil);
-       struct va_format vaf = {
-               .fmt = fmt,
-       };
+       struct va_format vaf;
        va_list args;
 
        va_start(args, fmt);
+       vaf.fmt = fmt;
        vaf.va = &args;
-       netdev_info(ndev, "%pV", &vaf);
+       netdev_info(wil_to_ndev(wil), "%pV", &vaf);
        trace_wil6210_log_info(&vaf);
        va_end(args);
 }
 
 void wil_dbg_trace(struct wil6210_priv *wil, const char *fmt, ...)
 {
-       struct va_format vaf = {
-               .fmt = fmt,
-       };
+       struct va_format vaf;
        va_list args;
 
        va_start(args, fmt);
+       vaf.fmt = fmt;
        vaf.va = &args;
        trace_wil6210_log_dbg(&vaf);
        va_end(args);