mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	HID: logitech-hidpp: do not make failure to get the name fatal
With devices attached to a non-unifying 2.4GHz receiver we sometimes fail to get the name. This is not a fatal error, we can just continue with the original name. So instead of bailing out, continue with battery-initialization when this happens. This fixes the battery not getting registered when we fail to get the name. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
This commit is contained in:
		
							parent
							
								
									22bf6bdef4
								
							
						
					
					
						commit
						2ddf07f388
					
				
					 1 changed files with 8 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -3160,18 +3160,15 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
 | 
			
		|||
 | 
			
		||||
	if (hidpp->name == hdev->name && hidpp->protocol_major >= 2) {
 | 
			
		||||
		name = hidpp_get_device_name(hidpp);
 | 
			
		||||
		if (!name) {
 | 
			
		||||
			hid_err(hdev,
 | 
			
		||||
				"unable to retrieve the name of the device");
 | 
			
		||||
			return;
 | 
			
		||||
		if (name) {
 | 
			
		||||
			devm_name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
 | 
			
		||||
						   "%s", name);
 | 
			
		||||
			kfree(name);
 | 
			
		||||
			if (!devm_name)
 | 
			
		||||
				return;
 | 
			
		||||
 | 
			
		||||
			hidpp->name = devm_name;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		devm_name = devm_kasprintf(&hdev->dev, GFP_KERNEL, "%s", name);
 | 
			
		||||
		kfree(name);
 | 
			
		||||
		if (!devm_name)
 | 
			
		||||
			return;
 | 
			
		||||
 | 
			
		||||
		hidpp->name = devm_name;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	hidpp_initialize_battery(hidpp);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue