Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6164c202 authored by John W. Linville's avatar John W. Linville
Browse files

Merge branch 'for-upstream' of...

parents bf515fb1 56b2c3ee
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -4699,7 +4699,6 @@ F: net/mac802154/
F:	drivers/net/ieee802154/
F:	include/linux/nl802154.h
F:	include/linux/ieee802154.h
F:	include/net/nl802154.h
F:	include/net/mac802154.h
F:	include/net/af_ieee802154.h
F:	include/net/cfg802154.h
+6 −1
Original line number Diff line number Diff line
@@ -299,6 +299,8 @@ struct btusb_data {
	unsigned int sco_num;
	int isoc_altsetting;
	int suspend_count;

	int (*recv_bulk)(struct btusb_data *data, void *buffer, int count);
};

static inline void btusb_free_frags(struct btusb_data *data)
@@ -590,7 +592,7 @@ static void btusb_bulk_complete(struct urb *urb)
	if (urb->status == 0) {
		hdev->stat.byte_rx += urb->actual_length;

		if (btusb_recv_bulk(data, urb->transfer_buffer,
		if (data->recv_bulk(data, urb->transfer_buffer,
				    urb->actual_length) < 0) {
			BT_ERR("%s corrupted ACL packet", hdev->name);
			hdev->stat.err_rx++;
@@ -2012,6 +2014,8 @@ static int btusb_probe(struct usb_interface *intf,
	init_usb_anchor(&data->isoc_anchor);
	spin_lock_init(&data->rxlock);

	data->recv_bulk = btusb_recv_bulk;

	hdev = hci_alloc_dev();
	if (!hdev)
		return -ENOMEM;
@@ -2035,6 +2039,7 @@ static int btusb_probe(struct usb_interface *intf,
	if (id->driver_info & BTUSB_BCM_PATCHRAM) {
		hdev->setup = btusb_setup_bcm_patchram;
		hdev->set_bdaddr = btusb_set_bdaddr_bcm;
		set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks);
	}

	if (id->driver_info & BTUSB_INTEL) {
+2 −11
Original line number Diff line number Diff line
@@ -171,8 +171,6 @@ static void h5_timed_event(unsigned long arg)
static void h5_peer_reset(struct hci_uart *hu)
{
	struct h5 *h5 = hu->priv;
	struct sk_buff *skb;
	const unsigned char hard_err[] = { 0x10, 0x01, 0x00 };

	BT_ERR("Peer device has reset");

@@ -187,15 +185,8 @@ static void h5_peer_reset(struct hci_uart *hu)
	h5->tx_seq = 0;
	h5->tx_ack = 0;

	skb = bt_skb_alloc(3, GFP_ATOMIC);
	if (!skb)
		return;

	bt_cb(skb)->pkt_type = HCI_EVENT_PKT;
	memcpy(skb_put(skb, 3), hard_err, 3);

	/* Send Hardware Error to upper stack */
	hci_recv_frame(hu->hdev, skb);
	/* Send reset request to upper stack */
	hci_reset_dev(hu->hdev);
}

static int h5_open(struct hci_uart *hu)
+11 −2
Original line number Diff line number Diff line
@@ -1047,7 +1047,7 @@ at86rf230_channel(struct ieee802154_hw *hw, u8 page, u8 channel)
	struct at86rf230_local *lp = hw->priv;
	int rc;

	if (page < 0 || page > 31 ||
	if (page > 31 ||
	    !(lp->hw->phy->channels_supported[page] & BIT(channel))) {
		WARN_ON(1);
		return -EINVAL;
@@ -1358,7 +1358,11 @@ static int at86rf230_hw_init(struct at86rf230_local *lp)
		return -EINVAL;
	}

	return 0;
	/* Force setting slotted operation bit to 0. Sometimes the atben
	 * sets this bit and I don't know why. We set this always force
	 * to zero while probing.
	 */
	return at86rf230_write_subreg(lp, SR_SLOTTED_OPERATION, 0);
}

static struct at86rf230_platform_data *
@@ -1427,6 +1431,7 @@ at86rf230_detect_device(struct at86rf230_local *lp)
		chip = "at86rf231";
		lp->data = &at86rf231_data;
		lp->hw->phy->channels_supported[0] = 0x7FFF800;
		lp->hw->phy->current_channel = 11;
		break;
	case 7:
		chip = "at86rf212";
@@ -1435,6 +1440,7 @@ at86rf230_detect_device(struct at86rf230_local *lp)
			lp->hw->flags |= IEEE802154_HW_LBT;
			lp->hw->phy->channels_supported[0] = 0x00007FF;
			lp->hw->phy->channels_supported[2] = 0x00007FF;
			lp->hw->phy->current_channel = 5;
		} else {
			rc = -ENOTSUPP;
		}
@@ -1443,6 +1449,7 @@ at86rf230_detect_device(struct at86rf230_local *lp)
		chip = "at86rf233";
		lp->data = &at86rf233_data;
		lp->hw->phy->channels_supported[0] = 0x7FFF800;
		lp->hw->phy->current_channel = 13;
		break;
	default:
		chip = "unkown";
@@ -1530,6 +1537,8 @@ static int at86rf230_probe(struct spi_device *spi)
	lp->hw = hw;
	lp->spi = spi;
	hw->parent = &spi->dev;
	hw->vif_data_size = sizeof(*lp);
	ieee802154_random_extended_addr(&hw->phy->perm_extended_addr);

	lp->regmap = devm_regmap_init_spi(spi, &at86rf230_regmap_spi_config);
	if (IS_ERR(lp->regmap)) {
+1 −0
Original line number Diff line number Diff line
@@ -651,6 +651,7 @@ static int cc2520_register(struct cc2520_private *priv)
	priv->hw->priv = priv;
	priv->hw->parent = &priv->spi->dev;
	priv->hw->extra_tx_headroom = 0;
	priv->hw->vif_data_size = sizeof(*priv);

	/* We do support only 2.4 Ghz */
	priv->hw->phy->channels_supported[0] = 0x7FFF800;
Loading