mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	Bluetooth: Use proper invalid value for tx_power
The core specification defines 127 as the "not available" value (well, "reserved" for BR/EDR and "not available" for LE - but essentially the same). Therefore, instead of testing for 0 (which is in fact a valid value) we should be using this invalid value to test if the tx_power is available. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
		
							parent
							
								
									57527f8d4d
								
							
						
					
					
						commit
						bbaf444a89
					
				
					 4 changed files with 8 additions and 1 deletions
				
			
		|  | @ -319,6 +319,9 @@ enum { | |||
| #define HCI_FLOW_CTL_MODE_PACKET_BASED	0x00 | ||||
| #define HCI_FLOW_CTL_MODE_BLOCK_BASED	0x01 | ||||
| 
 | ||||
| /* The core spec defines 127 as the "not available" value */ | ||||
| #define HCI_TX_POWER_INVALID	127 | ||||
| 
 | ||||
| /* Extended Inquiry Response field types */ | ||||
| #define EIR_FLAGS		0x01 /* flags */ | ||||
| #define EIR_UUID16_SOME		0x02 /* 16-bit UUID, more available */ | ||||
|  |  | |||
|  | @ -1606,6 +1606,8 @@ struct hci_dev *hci_alloc_dev(void) | |||
| 	hdev->esco_type = (ESCO_HV1); | ||||
| 	hdev->link_mode = (HCI_LM_ACCEPT); | ||||
| 	hdev->io_capability = 0x03; /* No Input No Output */ | ||||
| 	hdev->inq_tx_power = HCI_TX_POWER_INVALID; | ||||
| 	hdev->adv_tx_power = HCI_TX_POWER_INVALID; | ||||
| 
 | ||||
| 	hdev->sniff_max_interval = 800; | ||||
| 	hdev->sniff_min_interval = 80; | ||||
|  |  | |||
|  | @ -202,6 +202,8 @@ static void hci_cc_reset(struct hci_dev *hdev, struct sk_buff *skb) | |||
| 			     BIT(HCI_PERIODIC_INQ)); | ||||
| 
 | ||||
| 	hdev->discovery.state = DISCOVERY_STOPPED; | ||||
| 	hdev->inq_tx_power = HCI_TX_POWER_INVALID; | ||||
| 	hdev->adv_tx_power = HCI_TX_POWER_INVALID; | ||||
| } | ||||
| 
 | ||||
| static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb) | ||||
|  |  | |||
|  | @ -484,7 +484,7 @@ static void create_eir(struct hci_dev *hdev, u8 *data) | |||
| 		ptr += (name_len + 2); | ||||
| 	} | ||||
| 
 | ||||
| 	if (hdev->inq_tx_power) { | ||||
| 	if (hdev->inq_tx_power != HCI_TX_POWER_INVALID) { | ||||
| 		ptr[0] = 2; | ||||
| 		ptr[1] = EIR_TX_POWER; | ||||
| 		ptr[2] = (u8) hdev->inq_tx_power; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Johan Hedberg
						Johan Hedberg