Hi Luiz, > This adds bt_status which can be used to convert Unix errno to > Bluetooth status. > > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> > --- > include/net/bluetooth/bluetooth.h | 1 + > net/bluetooth/lib.c | 71 +++++++++++++++++++++++++++++++ > 2 files changed, 72 insertions(+) > > diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h > index 6b48d9e2aab9..cfe6159f26bc 100644 > --- a/include/net/bluetooth/bluetooth.h > +++ b/include/net/bluetooth/bluetooth.h > @@ -521,6 +521,7 @@ static inline struct sk_buff *bt_skb_sendmmsg(struct sock *sk, > } > > int bt_to_errno(u16 code); > +__u8 bt_status(int err); > > void hci_sock_set_flag(struct sock *sk, int nr); > void hci_sock_clear_flag(struct sock *sk, int nr); > diff --git a/net/bluetooth/lib.c b/net/bluetooth/lib.c > index 5326f41a58b7..469a0c95b6e8 100644 > --- a/net/bluetooth/lib.c > +++ b/net/bluetooth/lib.c > @@ -135,6 +135,77 @@ int bt_to_errno(__u16 code) > } > EXPORT_SYMBOL(bt_to_errno); > > +/* Unix errno to Bluetooth error codes mapping */ > +__u8 bt_status(int err) > +{ > + /* Don't convert if already positive value */ > + if (err >= 0) > + return err; > + > + switch (err) { > + case -EBADRQC: > + return 0x01; > + > + case -ENOTCONN: > + return 0x02; > + > + case -EIO: > + return 0x03; > + > + case -EHOSTDOWN: > + return 0x04; > + > + case -EACCES: > + return 0x05; > + > + case -EBADE: > + return 0x06; > + > + case -ENOMEM: > + return 0x07; > + > + case -ETIMEDOUT: > + return 0x08; > + > + case -EMLINK: > + return 0x09; > + > + case EALREADY: > + return 0x0b; > + > + case -EBUSY: > + return 0x0c; > + > + case -ECONNREFUSED: > + return 0x0d; > + > + case -EOPNOTSUPP: > + return 0x11; > + > + case -EINVAL: > + return 0x12; > + > + case -ECONNRESET: > + return 0x13; > + > + case -ECONNABORTED: > + return 0x16; > + > + case ELOOP: > + return 0x17; > + > + case -EPROTONOSUPPORT: > + return 0x1a; > + > + case -EPROTO: > + return 0x19; > + > + default: > + return 0x1f; > + } > +} > +EXPORT_SYMBOL(bt_status); > + why are exporting this? Regards Marcel