USB-FHCI: Use a signed return type for fhci_create_ep()
Subsystems (2)
PATCH 1/1 USB-FHCI: Use a signed return type for fhci_create_ep()
From: Markus Elfring <[email protected]>
Date: Sat, 19 Dec 2015 21:10:20 +0100
The return type "u32" was used by the fhci_create_ep() function even though it will eventually return a negative error code.
Improve this implementation detail by using the type "s32" instead.
This issue was detected by using the Coccinelle software.
--- drivers/usb/host/fhci-tds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/host/fhci-tds.c +1 -1
@@ -149,7 +149,7 @@ void fhci_ep0_free(struct fhci_usb *usb)* data_mem The data memory partition(BUS) * ring_len TD ring length */ -u32 fhci_create_ep (struct fhci_usb *usb,enum fhci_mem_alloc data_mem, +s32 fhci_create_ep (struct fhci_usb *usb,enum fhci_mem_alloc data_mem,u32 ring_len) {struct endpoint *ep;
Signature · 1 line
2.6.3
Just make it an int. The caller also casts it to u32...
regards,
dan carpenter
Hello.
Quoted 19 lines · SF Markus Elfring
From: Markus Elfring <[email protected]>
Date: Sat, 19 Dec 2015 21:10:20 +0100The return type "u32" was used by the
fhci_create_ep()function even though it will eventually return a negative error code.
Improve this implementation detail by using the type "s32" instead.This issue was detected by using the Coccinelle software.
Signed-off-by Markus Elfring <[email protected]>--- drivers/usb/host/fhci-tds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/usb/host/fhci-tds.c +0
-0
drivers/usb/host/fhci-tds.c void fhci_ep0_free(struct fhci_usb *usb) · line 152
Quoted 5 lines
drivers/usb/host/fhci-tds.c +1
-1@@ -149,7 +149,7 @@ void fhci_ep0_free(struct fhci_usb *usb)* data_mem The data memory partition(BUS) * ring_len TD ring length */ -u32 fhci_create_ep(struct fhci_usb *usb, enum fhci_mem_alloc data_mem, +s32 fhci_create_ep(struct fhci_usb *usb, enum fhci_mem_alloc data_mem,
Should be just *int*, I think.
[...]
MBR, Sergei
Quoted 1 line
Just make it an int.
Thanks for your suggestion.
Will any more software developers prefer this data type at some source code places?
Quoted 1 line
The caller also casts it to u32...
Do you want to get rid of similar casts in affected functions?
Regards,
Markus
Quoted 7 lines · SF Markus Elfring
Quoted 1 line
Just make it an int.
Thanks for your suggestion.
Will any more software developers prefer this data type at some source code places?
Use s32 if the hardware spec specifies that you must. Otherwise prefer ordinary types.
Quoted 4 lines
Quoted 2 lines
The caller also casts it to u32...
Do you want to get rid of similar casts in affected functions?
If you want, that would be great. I just enjoy complaining generally, though. :P
regards,
dan carpenter
v2 cover USB-FHCI: Use return type "int" for two functions
In reply to Dan CarpenterFrom: Markus Elfring <[email protected]>
Date: Tue, 22 Dec 2015 16:43:12 +0100
Another update suggestion was taken into account after a patch was applied from static source code analysis.
Markus Elfring (2):
Use a signed return type for fhci_create_ep() Use a signed return type for endpoint_zero_init()
drivers/usb/host/fhci-hcd.c | 4 ++-- drivers/usb/host/fhci-tds.c | 2 +- drivers/usb/host/fhci.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-)
Signature · 1 line
2.6.3
PATCH v2 1/2 USB-FHCI: Use a signed return type for fhci_create_ep()
From: Markus Elfring <[email protected]>
Date: Tue, 22 Dec 2015 16:10:14 +0100
The return type "u32" was used by the fhci_create_ep() function even though it will eventually return a negative error code.
Improve this implementation detail by using the type "int" instead.
This issue was detected by using the Coccinelle software.
--- drivers/usb/host/fhci-tds.c | 2 +- drivers/usb/host/fhci.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/usb/host/fhci-tds.c +1 -1
@@ -149,7 +149,7 @@ void fhci_ep0_free(struct fhci_usb *usb)* data_mem The data memory partition(BUS) * ring_len TD ring length */ -u32 fhci_create_ep (struct fhci_usb *usb,enum fhci_mem_alloc data_mem, +int fhci_create_ep (struct fhci_usb *usb,enum fhci_mem_alloc data_mem,u32 ring_len) {struct endpoint *ep;
drivers/usb/host/fhci.h +1 -1
@@ -547,7 +547,7 @@ u32 fhci_host_transaction(struct fhci_usb *usb, struct packet *pkt,void fhci_host_transmit_actual_frame (struct fhci_usb *usb);void fhci_tx_conf_interrupt (struct fhci_usb *usb);void fhci_push_dummy_bd (struct endpoint *ep); -u32 fhci_create_ep (struct fhci_usb *usb,enum fhci_mem_alloc data_mem, +int fhci_create_ep (struct fhci_usb *usb,enum fhci_mem_alloc data_mem,u32 ring_len); void fhci_init_ep_registers(struct fhci_usb *usb, struct endpoint *ep,
Signature · 1 line
2.6.3
PATCH v2 2/2 USB-FHCI: Use a signed return type for endpoint_zero_init()
In reply to SF Markus ElfringFrom: Markus Elfring <[email protected]>
Date: Tue, 22 Dec 2015 16:24:46 +0100
The return type "u32" was used by the endpoint_zero_init() function even though it can return a value which corresponds to a negative error code from a call of the fhci_create_ep() function. Improve this implementation detail by using the type "int" instead.
--- drivers/usb/host/fhci-hcd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/usb/host/fhci-hcd.c +2 -2
@@ -64,11 +64,11 @@ u16 fhci_get_sof_timer_count(struct fhci_usb *usb) }/* initialize the endpoint zero */ -static u32 endpoint_zero_init (struct fhci_usb *usb, +static int endpoint_zero_init (struct fhci_usb *usb,enum fhci_mem_alloc data_mem,u32 ring_len) { -u32 rc; +int rc; rc =fhci_create_ep (usb, data_mem, ring_len);if (rc)
Signature · 1 line
2.6.3