mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 18:20:25 +02:00 
			
		
		
		
	Bluetooth: Restrict disabling of HS when controller is powered off
Disabling the high speed setting when the controller is powered on has too many side effects that are not taken care of. And in general it is not an useful operation anyway. So just make such a command fail with a rejection error message. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
		
							parent
							
								
									0663ca2a03
								
							
						
					
					
						commit
						a0cdf960be
					
				
					 1 changed files with 9 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1353,10 +1353,17 @@ static int set_hs(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
 | 
			
		|||
 | 
			
		||||
	hci_dev_lock(hdev);
 | 
			
		||||
 | 
			
		||||
	if (cp->val)
 | 
			
		||||
	if (cp->val) {
 | 
			
		||||
		changed = !test_and_set_bit(HCI_HS_ENABLED, &hdev->dev_flags);
 | 
			
		||||
	else
 | 
			
		||||
	} else {
 | 
			
		||||
		if (hdev_is_powered(hdev)) {
 | 
			
		||||
			err = cmd_status(sk, hdev->id, MGMT_OP_SET_HS,
 | 
			
		||||
					 MGMT_STATUS_REJECTED);
 | 
			
		||||
			goto unlock;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		changed = test_and_clear_bit(HCI_HS_ENABLED, &hdev->dev_flags);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = send_settings_rsp(sk, MGMT_OP_SET_HS, hdev);
 | 
			
		||||
	if (err < 0)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue