drivers: misc: ti-st: Use int instead of fuzzy char for callback status
On mips and parisc:
drivers/bluetooth/btwilink.c: In function 'ti_st_open':
drivers/bluetooth/btwilink.c:174:21: warning: overflow in implicit constant conversion [-Woverflow]
hst->reg_status = -EINPROGRESS;
drivers/nfc/nfcwilink.c: In function 'nfcwilink_open':
drivers/nfc/nfcwilink.c:396:31: warning: overflow in implicit constant conversion [-Woverflow]
drv->st_register_cb_status = -EINPROGRESS;
There are actually two issues:
1. Whether "char" is signed or unsigned depends on the architecture.
As the completion callback data is used to pass a (negative) error
code, it should always be signed.
2. EINPROGRESS is 150 on mips, 245 on parisc.
Hence -EINPROGRESS doesn't fit in a signed 8-bit number.
Change the callback status from "char" to "int" to fix these.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
committed by
Marcel Holtmann
parent
858d68f102
commit
4360fa22ad
@@ -71,7 +71,7 @@ struct st_proto_s {
|
||||
enum proto_type type;
|
||||
long (*recv) (void *, struct sk_buff *);
|
||||
unsigned char (*match_packet) (const unsigned char *data);
|
||||
void (*reg_complete_cb) (void *, char data);
|
||||
void (*reg_complete_cb) (void *, int data);
|
||||
long (*write) (struct sk_buff *skb);
|
||||
void *priv_data;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user