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

Commit de2ba303 authored by Marcel Holtmann's avatar Marcel Holtmann
Browse files

Bluetooth: Set LE Default PHY preferences



If the LE Set Default PHY command is supported, the indicate to the
controller that the host has no preferences for transmitter PHY or
receiver PHY selection.

Issuing this command gives the controller a clear indication that other
PHY can be selected if available.

Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 27bbca44
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -1499,6 +1499,13 @@ struct hci_rp_le_read_max_data_len {
	__le16	rx_time;
	__le16	rx_time;
} __packed;
} __packed;


#define HCI_OP_LE_SET_DEFAULT_PHY	0x2031
struct hci_cp_le_set_default_phy {
	__u8    all_phys;
	__u8    tx_phys;
	__u8    rx_phys;
} __packed;

/* ---- HCI Events ---- */
/* ---- HCI Events ---- */
#define HCI_EV_INQUIRY_COMPLETE		0x01
#define HCI_EV_INQUIRY_COMPLETE		0x01


+12 −0
Original line number Original line Diff line number Diff line
@@ -794,6 +794,18 @@ static int hci_init4_req(struct hci_request *req, unsigned long opt)
		hci_req_add(req, HCI_OP_LE_WRITE_DEF_DATA_LEN, sizeof(cp), &cp);
		hci_req_add(req, HCI_OP_LE_WRITE_DEF_DATA_LEN, sizeof(cp), &cp);
	}
	}


	/* Set Default PHY parameters if command is supported */
	if (hdev->commands[35] & 0x20) {
		struct hci_cp_le_set_default_phy cp;

		/* No transmitter PHY or receiver PHY preferences */
		cp.all_phys = 0x03;
		cp.tx_phys = 0;
		cp.rx_phys = 0;

		hci_req_add(req, HCI_OP_LE_SET_DEFAULT_PHY, sizeof(cp), &cp);
	}

	return 0;
	return 0;
}
}