diff mbox

mwifiex: Using %*phD instead of print_hex_dump_bytes

Message ID 1349342161-27008-1-git-send-email-Andrei.Emeltchenko.news@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Andrei Emeltchenko Oct. 4, 2012, 9:16 a.m. UTC
From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>

Make output more readable and remove unneeded function call.

...
mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
last_cmd_id: 00000000: 28 00 28 00 28                            (.(.(
...

would be changed to:

...
mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28
...

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
---
 drivers/net/wireless/mwifiex/cmdevt.c |   17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

Comments

Joe Perches Oct. 4, 2012, 4:32 p.m. UTC | #1
On Thu, 2012-10-04 at 12:16 +0300, Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> 
> Make output more readable and remove unneeded function call.
> 
> ...
> mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> last_cmd_id: 00000000: 28 00 28 00 28                            (.(.(
> ...
> 
> would be changed to:
> 
> ...
> mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28
> ...

(added Andy Shevchenko)

Hi Andrei.  That's probably a better output style too
as the ascii isn't likely useful.

One non-nit as a style issue for Andy Shevchenko:

> diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
[]
> @@ -917,21 +917,20 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
[]
> +		dev_err(adapter->dev, "last_cmd_id: %*ph\n", DBG_CMD_NUM,
> +			adapter->dbg.last_cmd_id);
> +		dev_err(adapter->dev, "last_cmd_act: %*ph\n", DBG_CMD_NUM,
> +			adapter->dbg.last_cmd_act);

When the number of bytes is fixed, it might be nicer
to use a format like "%<num>ph" so that the function
argument stack doesn't have the width pushed but it's
fixed in the format.

This case would definitely not work well though as it's
a #define rather than a simple number and I think
using "%" stringize(some_define) "ph" is not nice.

Maybe this case argues more for always using "%*ph".
At least that's easily greppable.

Andy?

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko Oct. 5, 2012, 6:53 a.m. UTC | #2
On Thu, 2012-10-04 at 09:32 -0700, Joe Perches wrote: 
> On Thu, 2012-10-04 at 12:16 +0300, Andrei Emeltchenko wrote:
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > 
> > Make output more readable and remove unneeded function call.
> > 
> > ...
> > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > last_cmd_id: 00000000: 28 00 28 00 28                            (.(.(
> > ...
> > 
> > would be changed to:
> > 
> > ...
> > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28
> > ...
> 
> (added Andy Shevchenko)
> 
> Hi Andrei.  That's probably a better output style too
> as the ascii isn't likely useful.
> 
> One non-nit as a style issue for Andy Shevchenko:
> 
> > diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
> []
> > @@ -917,21 +917,20 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
> []
> > +		dev_err(adapter->dev, "last_cmd_id: %*ph\n", DBG_CMD_NUM,
> > +			adapter->dbg.last_cmd_id);
> > +		dev_err(adapter->dev, "last_cmd_act: %*ph\n", DBG_CMD_NUM,
> > +			adapter->dbg.last_cmd_act);
> 
> When the number of bytes is fixed, it might be nicer
> to use a format like "%<num>ph" so that the function
> argument stack doesn't have the width pushed but it's
> fixed in the format.
> 
> This case would definitely not work well though as it's
> a #define rather than a simple number and I think
> using "%" stringize(some_define) "ph" is not nice.
> 
> Maybe this case argues more for always using "%*ph".
> At least that's easily greppable.
> 
> Andy?
First of all, the current linux-next has at least two definitions of
that constant:
drivers/net/wireless/mwifiex/ioctl.h:175:#define DBG_CMD_NUM    5
drivers/net/wireless/mwifiex/main.h:118:#define DBG_CMD_NUM 5

I checked briefly the code and found that the constant is heavily used
as a definition for the length of static byte arrays. So, in that case
probably better to use %*ph, but apply sizeof(cool_var) instead of
putting constant there.
Andy Shevchenko Oct. 5, 2012, 7 a.m. UTC | #3
On Fri, 2012-10-05 at 09:53 +0300, Andy Shevchenko wrote: 
> On Thu, 2012-10-04 at 09:32 -0700, Joe Perches wrote: 
> > On Thu, 2012-10-04 at 12:16 +0300, Andrei Emeltchenko wrote:
> > > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > 
> > > Make output more readable and remove unneeded function call.
> > > 
> > > ...
> > > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > > last_cmd_id: 00000000: 28 00 28 00 28                            (.(.(
> > > ...
> > > 
> > > would be changed to:
> > > 
> > > ...
> > > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > > mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28
> > > ...
> > 
> > (added Andy Shevchenko)
> > 
> > Hi Andrei.  That's probably a better output style too
> > as the ascii isn't likely useful.
> > 
> > One non-nit as a style issue for Andy Shevchenko:
> > 
> > > diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
> > []
> > > @@ -917,21 +917,20 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
> > []
> > > +		dev_err(adapter->dev, "last_cmd_id: %*ph\n", DBG_CMD_NUM,
> > > +			adapter->dbg.last_cmd_id);
> > > +		dev_err(adapter->dev, "last_cmd_act: %*ph\n", DBG_CMD_NUM,
> > > +			adapter->dbg.last_cmd_act);
> > 
> > When the number of bytes is fixed, it might be nicer
> > to use a format like "%<num>ph" so that the function
> > argument stack doesn't have the width pushed but it's
> > fixed in the format.
> > 
> > This case would definitely not work well though as it's
> > a #define rather than a simple number and I think
> > using "%" stringize(some_define) "ph" is not nice.
> > 
> > Maybe this case argues more for always using "%*ph".
> > At least that's easily greppable.
> > 
> > Andy?
> First of all, the current linux-next has at least two definitions of
> that constant:
> drivers/net/wireless/mwifiex/ioctl.h:175:#define DBG_CMD_NUM    5
> drivers/net/wireless/mwifiex/main.h:118:#define DBG_CMD_NUM 5
> 
> I checked briefly the code and found that the constant is heavily used
> as a definition for the length of static byte arrays. So, in that case
> probably better to use %*ph, but apply sizeof(cool_var) instead of
(int)sizeof(cool_var) of course

> putting constant there.

And one finding more: buffers are defined as u16. I'm afraid the both
previous and proposed versions are printing something interesting, like
only half of the defined data.
Andrei Emeltchenko Oct. 5, 2012, 10:07 a.m. UTC | #4
Hi Andy,

On Fri, Oct 05, 2012 at 10:00:28AM +0300, Andy Shevchenko wrote:
> On Fri, 2012-10-05 at 09:53 +0300, Andy Shevchenko wrote: 
> > On Thu, 2012-10-04 at 09:32 -0700, Joe Perches wrote: 
> > > On Thu, 2012-10-04 at 12:16 +0300, Andrei Emeltchenko wrote:
> > > > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > > 
> > > > Make output more readable and remove unneeded function call.
> > > > 
> > > > ...
> > > > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > > > last_cmd_id: 00000000: 28 00 28 00 28                            (.(.(
> > > > ...
> > > > 
> > > > would be changed to:
> > > > 
> > > > ...
> > > > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > > > mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28
> > > > ...
> > > 
> > > (added Andy Shevchenko)
> > > 
> > > Hi Andrei.  That's probably a better output style too
> > > as the ascii isn't likely useful.
> > > 
> > > One non-nit as a style issue for Andy Shevchenko:
> > > 
> > > > diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
> > > []
> > > > @@ -917,21 +917,20 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
> > > []
> > > > +		dev_err(adapter->dev, "last_cmd_id: %*ph\n", DBG_CMD_NUM,
> > > > +			adapter->dbg.last_cmd_id);
> > > > +		dev_err(adapter->dev, "last_cmd_act: %*ph\n", DBG_CMD_NUM,
> > > > +			adapter->dbg.last_cmd_act);
> > > 
> > > When the number of bytes is fixed, it might be nicer
> > > to use a format like "%<num>ph" so that the function
> > > argument stack doesn't have the width pushed but it's
> > > fixed in the format.
> > > 
> > > This case would definitely not work well though as it's
> > > a #define rather than a simple number and I think
> > > using "%" stringize(some_define) "ph" is not nice.
> > > 
> > > Maybe this case argues more for always using "%*ph".
> > > At least that's easily greppable.
> > > 
> > > Andy?
> > First of all, the current linux-next has at least two definitions of
> > that constant:
> > drivers/net/wireless/mwifiex/ioctl.h:175:#define DBG_CMD_NUM    5
> > drivers/net/wireless/mwifiex/main.h:118:#define DBG_CMD_NUM 5
> > 
> > I checked briefly the code and found that the constant is heavily used
> > as a definition for the length of static byte arrays. So, in that case
> > probably better to use %*ph, but apply sizeof(cool_var) instead of
> (int)sizeof(cool_var) of course
> 
> > putting constant there.
> 
> And one finding more: buffers are defined as u16. I'm afraid the both
> previous and proposed versions are printing something interesting, like
> only half of the defined data.

The patch only changes printing format. The other logical change would
come better in other patch, maybe Bing could comment here.

Best regards 
Andrei Emeltchenko 

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andrei Emeltchenko Oct. 5, 2012, 10:11 a.m. UTC | #5
Hi Andy,

On Fri, Oct 05, 2012 at 09:53:16AM +0300, Andy Shevchenko wrote:
> On Thu, 2012-10-04 at 09:32 -0700, Joe Perches wrote: 
> > On Thu, 2012-10-04 at 12:16 +0300, Andrei Emeltchenko wrote:
> > > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> > > 
> > > Make output more readable and remove unneeded function call.
> > > 
> > > ...
> > > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > > last_cmd_id: 00000000: 28 00 28 00 28                            (.(.(
> > > ...
> > > 
> > > would be changed to:
> > > 
> > > ...
> > > mwifiex_sdio mmc0:0001:1: last_cmd_index = 3
> > > mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28
> > > ...
> > 
> > (added Andy Shevchenko)
> > 
> > Hi Andrei.  That's probably a better output style too
> > as the ascii isn't likely useful.
> > 
> > One non-nit as a style issue for Andy Shevchenko:
> > 
> > > diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
> > []
> > > @@ -917,21 +917,20 @@ mwifiex_cmd_timeout_func(unsigned long function_context)
> > []
> > > +		dev_err(adapter->dev, "last_cmd_id: %*ph\n", DBG_CMD_NUM,
> > > +			adapter->dbg.last_cmd_id);
> > > +		dev_err(adapter->dev, "last_cmd_act: %*ph\n", DBG_CMD_NUM,
> > > +			adapter->dbg.last_cmd_act);
> > 
> > When the number of bytes is fixed, it might be nicer
> > to use a format like "%<num>ph" so that the function
> > argument stack doesn't have the width pushed but it's
> > fixed in the format.
> > 
> > This case would definitely not work well though as it's
> > a #define rather than a simple number and I think
> > using "%" stringize(some_define) "ph" is not nice.
> > 
> > Maybe this case argues more for always using "%*ph".
> > At least that's easily greppable.
> > 
> > Andy?
> First of all, the current linux-next has at least two definitions of
> that constant:
> drivers/net/wireless/mwifiex/ioctl.h:175:#define DBG_CMD_NUM    5
> drivers/net/wireless/mwifiex/main.h:118:#define DBG_CMD_NUM 5

Please send patch fixing this. This is unrelated to the patch in
question.

> I checked briefly the code and found that the constant is heavily used
> as a definition for the length of static byte arrays. So, in that case
> probably better to use %*ph, but apply sizeof(cool_var) instead of
> putting constant there.

I did not touch logic that print buffer, the buffer might have lots of
data (even significantly more then you may want to print to logs) so
using sizeof is not the best idea in these cases.

Best regards 
Andrei Emeltchenko 

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andy Shevchenko Oct. 5, 2012, 10:18 a.m. UTC | #6
On Fri, 2012-10-05 at 13:11 +0300, Andrei Emeltchenko wrote: 
> On Fri, Oct 05, 2012 at 09:53:16AM +0300, Andy Shevchenko wrote:
> > On Thu, 2012-10-04 at 09:32 -0700, Joe Perches wrote: 

> > > When the number of bytes is fixed, it might be nicer
> > > to use a format like "%<num>ph" so that the function
> > > argument stack doesn't have the width pushed but it's
> > > fixed in the format.
> > > 
> > > This case would definitely not work well though as it's
> > > a #define rather than a simple number and I think
> > > using "%" stringize(some_define) "ph" is not nice.
> > > 
> > > Maybe this case argues more for always using "%*ph".
> > > At least that's easily greppable.


> > I checked briefly the code and found that the constant is heavily used
> > as a definition for the length of static byte arrays. So, in that case
> > probably better to use %*ph, but apply sizeof(cool_var) instead of
> > putting constant there.
> 
> I did not touch logic that print buffer, the buffer might have lots of
> data (even significantly more then you may want to print to logs) so
> using sizeof is not the best idea in these cases.
Then you probably need to decide how much you would like to print
exactly and put that constant directly to the %*ph (instead of
asterisk), like %5ph. Otherwise it's unclear what DBG_CMD_NUM stands
for.
Andy Shevchenko Oct. 5, 2012, 10:19 a.m. UTC | #7
On Fri, 2012-10-05 at 13:07 +0300, Andrei Emeltchenko wrote: 
> On Fri, Oct 05, 2012 at 10:00:28AM +0300, Andy Shevchenko wrote:

> > And one finding more: buffers are defined as u16. I'm afraid the both
> > previous and proposed versions are printing something interesting, like
> > only half of the defined data.
> 
> The patch only changes printing format. The other logical change would
> come better in other patch, maybe Bing could comment here.
What about to fix logic first and then to substitute the
print_hex_dump_bytes() calls?
Andrei Emeltchenko Oct. 5, 2012, 10:27 a.m. UTC | #8
Hi Andy,

On Fri, Oct 05, 2012 at 01:18:25PM +0300, Andy Shevchenko wrote:
> On Fri, 2012-10-05 at 13:11 +0300, Andrei Emeltchenko wrote: 
> > On Fri, Oct 05, 2012 at 09:53:16AM +0300, Andy Shevchenko wrote:
> > > On Thu, 2012-10-04 at 09:32 -0700, Joe Perches wrote: 
> 
> > > > When the number of bytes is fixed, it might be nicer
> > > > to use a format like "%<num>ph" so that the function
> > > > argument stack doesn't have the width pushed but it's
> > > > fixed in the format.
> > > > 
> > > > This case would definitely not work well though as it's
> > > > a #define rather than a simple number and I think
> > > > using "%" stringize(some_define) "ph" is not nice.
> > > > 
> > > > Maybe this case argues more for always using "%*ph".
> > > > At least that's easily greppable.
> 
> 
> > > I checked briefly the code and found that the constant is heavily used
> > > as a definition for the length of static byte arrays. So, in that case
> > > probably better to use %*ph, but apply sizeof(cool_var) instead of
> > > putting constant there.
> > 
> > I did not touch logic that print buffer, the buffer might have lots of
> > data (even significantly more then you may want to print to logs) so
> > using sizeof is not the best idea in these cases.
> Then you probably need to decide how much you would like to print
> exactly and put that constant directly to the %*ph (instead of
> asterisk), like %5ph. Otherwise it's unclear what DBG_CMD_NUM stands

I do not like much magic numbers. Defines are the same as those magic
numbers. You always see them with one jump and usually you do reuse them
anyway.

Best regards 
Andrei Emeltchenko 
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Andrei Emeltchenko Oct. 5, 2012, 12:58 p.m. UTC | #9
On Fri, Oct 05, 2012 at 01:19:58PM +0300, Andy Shevchenko wrote:
> On Fri, 2012-10-05 at 13:07 +0300, Andrei Emeltchenko wrote: 
> > On Fri, Oct 05, 2012 at 10:00:28AM +0300, Andy Shevchenko wrote:
> 
> > > And one finding more: buffers are defined as u16. I'm afraid the both

Looking at the output:

mwifiex_sdio mmc0:0001:1: last_cmd_id: 28 00 28 00 28

I suspect that they meant u8.

Best regards 
Andrei Emeltchenko 

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bing Zhao Oct. 5, 2012, 7:35 p.m. UTC | #10
SGkgQW5keSwNCg0KPiA+IFdoZW4gdGhlIG51bWJlciBvZiBieXRlcyBpcyBmaXhlZCwgaXQgbWln
aHQgYmUgbmljZXINCj4gPiB0byB1c2UgYSBmb3JtYXQgbGlrZSAiJTxudW0+cGgiIHNvIHRoYXQg
dGhlIGZ1bmN0aW9uDQo+ID4gYXJndW1lbnQgc3RhY2sgZG9lc24ndCBoYXZlIHRoZSB3aWR0aCBw
dXNoZWQgYnV0IGl0J3MNCj4gPiBmaXhlZCBpbiB0aGUgZm9ybWF0Lg0KPiA+DQo+ID4gVGhpcyBj
YXNlIHdvdWxkIGRlZmluaXRlbHkgbm90IHdvcmsgd2VsbCB0aG91Z2ggYXMgaXQncw0KPiA+IGEg
I2RlZmluZSByYXRoZXIgdGhhbiBhIHNpbXBsZSBudW1iZXIgYW5kIEkgdGhpbmsNCj4gPiB1c2lu
ZyAiJSIgc3RyaW5naXplKHNvbWVfZGVmaW5lKSAicGgiIGlzIG5vdCBuaWNlLg0KPiA+DQo+ID4g
TWF5YmUgdGhpcyBjYXNlIGFyZ3VlcyBtb3JlIGZvciBhbHdheXMgdXNpbmcgIiUqcGgiLg0KPiA+
IEF0IGxlYXN0IHRoYXQncyBlYXNpbHkgZ3JlcHBhYmxlLg0KPiA+DQo+ID4gQW5keT8NCj4gRmly
c3Qgb2YgYWxsLCB0aGUgY3VycmVudCBsaW51eC1uZXh0IGhhcyBhdCBsZWFzdCB0d28gZGVmaW5p
dGlvbnMgb2YNCj4gdGhhdCBjb25zdGFudDoNCj4gZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmll
eC9pb2N0bC5oOjE3NTojZGVmaW5lIERCR19DTURfTlVNICAgIDUNCj4gZHJpdmVycy9uZXQvd2ly
ZWxlc3MvbXdpZmlleC9tYWluLmg6MTE4OiNkZWZpbmUgREJHX0NNRF9OVU0gNQ0KDQpJIGNhbiBm
aXggdGhhdC4NCg0KPiANCj4gSSBjaGVja2VkIGJyaWVmbHkgdGhlIGNvZGUgYW5kIGZvdW5kIHRo
YXQgdGhlIGNvbnN0YW50IGlzIGhlYXZpbHkgdXNlZA0KPiBhcyBhIGRlZmluaXRpb24gZm9yIHRo
ZSBsZW5ndGggb2Ygc3RhdGljIGJ5dGUgYXJyYXlzLiBTbywgaW4gdGhhdCBjYXNlDQo+IHByb2Jh
Ymx5IGJldHRlciB0byB1c2UgJSpwaCwgYnV0IGFwcGx5IHNpemVvZihjb29sX3ZhcikgaW5zdGVh
ZCBvZg0KPiBwdXR0aW5nIGNvbnN0YW50IHRoZXJlLg0KDQpBZ3JlZS4gKGludClzaXplb2YoY29v
bF92YXIpIHNob3VsZCBiZSB1c2VkIGZvciB0aGUgJSpwaC4NCg0KSSB3aWxsIHNlbmQgYSBwYXRj
aCBmb3IgdGhpcy4NCg0KVGhhbmtzLA0KQmluZw0K
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bing Zhao Oct. 5, 2012, 7:43 p.m. UTC | #11
Hi Andy,

> > I checked briefly the code and found that the constant is heavily used

> > as a definition for the length of static byte arrays. So, in that case

> > probably better to use %*ph, but apply sizeof(cool_var) instead of

> (int)sizeof(cool_var) of course

> 

> > putting constant there.

> 

> And one finding more: buffers are defined as u16. I'm afraid the both

> previous and proposed versions are printing something interesting, like

> only half of the defined data.


You are right. The original code should be like this:

                print_hex_dump_bytes("last_cmd_id: ", DUMP_PREFIX_OFFSET,
-                                    adapter->dbg.last_cmd_id, DBG_CMD_NUM);
+                                    adapter->dbg.last_cmd_id,
+                                    sizeof(adapter->dbg.last_cmd_id));

and then in Andrei's patch:

		dev_err(adapter->dev, "last_cmd_id: %*ph\n",
			(int)sizeof(adapter->dbg.last_cmd_id)),
			adapter->dbg.last_cmd_id);

I will send a patch to fix the original code.

Thanks,
Bing
diff mbox

Patch

diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c
index 225c1a4..e6a0600 100644
--- a/drivers/net/wireless/mwifiex/cmdevt.c
+++ b/drivers/net/wireless/mwifiex/cmdevt.c
@@ -917,21 +917,20 @@  mwifiex_cmd_timeout_func(unsigned long function_context)
 
 		dev_err(adapter->dev, "last_cmd_index = %d\n",
 			adapter->dbg.last_cmd_index);
-		print_hex_dump_bytes("last_cmd_id: ", DUMP_PREFIX_OFFSET,
-				     adapter->dbg.last_cmd_id, DBG_CMD_NUM);
-		print_hex_dump_bytes("last_cmd_act: ", DUMP_PREFIX_OFFSET,
-				     adapter->dbg.last_cmd_act, DBG_CMD_NUM);
+		dev_err(adapter->dev, "last_cmd_id: %*ph\n", DBG_CMD_NUM,
+			adapter->dbg.last_cmd_id);
+		dev_err(adapter->dev, "last_cmd_act: %*ph\n", DBG_CMD_NUM,
+			adapter->dbg.last_cmd_act);
 
 		dev_err(adapter->dev, "last_cmd_resp_index = %d\n",
 			adapter->dbg.last_cmd_resp_index);
-		print_hex_dump_bytes("last_cmd_resp_id: ", DUMP_PREFIX_OFFSET,
-				     adapter->dbg.last_cmd_resp_id,
-				     DBG_CMD_NUM);
+		dev_err(adapter->dev, "last_cmd_resp_id: %*ph\n", DBG_CMD_NUM,
+			adapter->dbg.last_cmd_resp_id);
 
 		dev_err(adapter->dev, "last_event_index = %d\n",
 			adapter->dbg.last_event_index);
-		print_hex_dump_bytes("last_event: ", DUMP_PREFIX_OFFSET,
-				     adapter->dbg.last_event, DBG_CMD_NUM);
+		dev_err(adapter->dev, "last_event: %*ph\n", DBG_CMD_NUM,
+				     adapter->dbg.last_event);
 
 		dev_err(adapter->dev, "data_sent=%d cmd_sent=%d\n",
 			adapter->data_sent, adapter->cmd_sent);