lkml.org 
[lkml]   [2017]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 10/10] Bluetooth: add nokia driver
Hi!

> +struct hci_nokia_neg_hdr {
> + __u8 dlen;
> +} __packed;
> +
> +struct hci_nokia_neg_cmd {
> + __u8 ack;
> + __u16 baud;
> + __u16 unused1;
> + __u8 proto;
> + __u16 sys_clk;
> + __u16 unused2;
> +} __packed;

__u8 -> u8? This is not exported to userspace...

> +#define BT_BAUDRATE_DIVIDER 384000000

Is this really divider?

> + int init_error;
> + struct completion init_completion;
> +
> + uint8_t man_id;
> + uint8_t ver_id;

u8...

> +static int nokia_wait_for_cts(struct hci_uart *hu, bool state,
> + int timeout_ms)
> +{
> + struct nokia_bt_dev *btdev = hu->priv;
> + struct device *dev = &btdev->serdev->dev;
> + unsigned long timeout;
> + bool signal;
> +
> + timeout = jiffies + msecs_to_jiffies(timeout_ms);
> + while (!time_after(jiffies, timeout)) {
> + signal = serdev_device_get_cts(btdev->serdev);
> + if (signal == state) {
> + dev_dbg(dev, "wait for cts... received!");
> + return 0;
> + }
> + usleep_range(1000, 2000);
> + }
> +
> + return -ETIMEDOUT;
> +}

Do we have devices where cts triggers interrupt?

> + if (btdev->init_error < 0)
> + return btdev->init_error;
> +
> + /* Change to previously negotiated speed. Flow Control
> + * is disabled until bluetooth adapter is ready to avoid
> + * broken bytes being ready by the bluetooth adapter
> + */

Umm. I'd at dot at end of sentence... but still can't understand the
sentence.

"to avoid broken bytes being received."?

> + evt = (struct hci_nokia_neg_evt *)skb_pull(skb, sizeof(*hdr));
> +
> + if (evt->ack != NOKIA_NEG_ACK) {
> + dev_err(dev, "Negotiation received: wrong reply");
> + btdev->init_error = -EINVAL;
> + }

But we still return success and trust the man_id / ver_id?

> + pkt = (struct hci_nokia_alive_pkt *)skb_pull(skb, sizeof(*hdr));
> +
> + if (pkt->mid != NOKIA_ALIVE_RESP) {
> + dev_err(dev, "Alive received: invalid response: 0x%02x!",
> + pkt->mid);
> + btdev->init_error = -EINVAL;
> + goto finish_alive;
> + }

ret = -EINVAL?

Thanks!
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2017-03-17 16:27    [W:0.206 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site