Re: [PATCH 10/10] Bluetooth: add nokia driver
From: Pavel Machek
Date: Fri Mar 17 2017 - 11:27:19 EST
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
Attachment:
signature.asc
Description: Digital signature