HID: hid-sensor-hub: Remove setting hdev->claimed before calling hid_hw_start()
Subsystems (2)
PATCH 1/3 HID: hid-sensor-hub: Remove setting hdev->claimed before calling hid_hw_start()
Current implementation of hid_hw_start() allows connect_mask to be 0. Setting hdev->claimed = HID_CLAIMED_INPUT before calling hid_hw_start() is not necessary. Remove it.
--- drivers/hid/hid-sensor-hub.c | 2 -- 1 file changed, 2 deletions(-)
drivers/hid/hid-sensor-hub.c +0 -2
@@ -539,7 +539,6 @@ static int sensor_hub_probe(struct hid_device *hdev, }INIT_LIST_HEAD (&hdev->inputs); - hdev->claimed =HID_CLAIMED_INPUT ; ret =hid_hw_start (hdev,0 );if (ret) {hid_err (hdev,"hw start failed\n" );
@@ -627,7 +626,6 @@ static void sensor_hub_remove(struct hid_device *hdev)int i;hid_dbg (hdev," hardware removed\n" ); - hdev->claimed &= ~HID_CLAIMED_INPUT ;hid_hw_stop (hdev);hid_hw_close (hdev);spin_lock_irqsave (&data->lock, flags);
Signature · 1 line
1.7.9.5
PATCH 2/3 HID: hid-sensor-hub: Fix sensor_hub_probe error handling
Fix below issues in sensor_hub_probe error handling:
1. In the case of goto err_close, hid_hw_stop(hdev) is called twice. Fix it.
2. If fails to allocate MFD device name, we also need to free all sucessfully allocated names in previous iterations.
--- drivers/hid/hid-sensor-hub.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/hid/hid-sensor-hub.c +1 -3
@@ -580,7 +580,7 @@ static int sensor_hub_probe(struct hid_device *hdev,hid_err (hdev,"Failed MFD device name\n" ); ret = -ENOMEM ; - goto err_free_cells; + goto err_free_names; } sd->hid_sensor_hub_client_devs[ sd->hid_sensor_client_cnt].name = name;
@@ -604,10 +604,8 @@ static int sensor_hub_probe(struct hid_device *hdev, err_free_names:for (i =0 ; i < sd->hid_sensor_client_cnt ; ++i)kfree (sd->hid_sensor_hub_client_devs[i].name); -err_free_cells:kfree (sd->hid_sensor_hub_client_devs); err_close: -hid_hw_stop (hdev);hid_hw_close (hdev); err_stop_hw:hid_hw_stop (hdev);
Signature · 1 line
1.7.9.5
PATCH 3/3 HID: hid-sensor-hub: Call hid_hw_close() before hid_hw_stop()
In reply to Axel LinAlso adjust unnecessary change lines for hid_err.
--- drivers/hid/hid-sensor-hub.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/hid/hid-sensor-hub.c +3 -5
@@ -564,8 +564,7 @@ static int sensor_hub_probe(struct hid_device *hdev,sizeof (struct mfd_cell ), GFP_KERNEL);if (sd->hid_sensor_hub_client_devs ==NULL ) { -hid_err (hdev, -"Failed to allocate memory for mfd cells\n" ); +hid_err (hdev,"Failed to allocate memory for mfd cells\n" ); ret = -ENOMEM ; goto err_close; }
@@ -577,8 +576,7 @@ static int sensor_hub_probe(struct hid_device *hdev, name =kasprintf (GFP_KERNEL ,"HID-SENSOR-%x" , field->physical);if (name ==NULL ) { -hid_err (hdev, -"Failed MFD device name\n" ); +hid_err (hdev,"Failed MFD device name\n" ); ret = -ENOMEM ; goto err_free_names; }
@@ -624,8 +622,8 @@ static void sensor_hub_remove(struct hid_device *hdev)int i;hid_dbg (hdev," hardware removed\n" ); -hid_hw_stop (hdev);hid_hw_close (hdev); +hid_hw_stop (hdev);spin_lock_irqsave (&data->lock, flags);if (data->pending.status)complete (&data->pending.ready);
Signature · 1 line
1.7.9.5
RE: [PATCH 3/3] HID: hid-sensor-hub: Call hid_hw_close() before hid_hw_stop()
I think you can merge this patch with your patch 2/3 as both are addressing hid_hw_close and hid_hw_stop.
Thanks,
Srinivas
-----Original Message-----
From: Axel Lin [mailto:[email protected]]
Sent: Thursday, September 13, 2012 3:07 PM
To: Jiri Kosina
Cc: Pandruvada, Srinivas; Jonathan Cameron; [email protected]
Subject: [PATCH 3/3] HID: hid-sensor-hub: Call hid_hw_close() before hid_hw_stop()
Also adjust unnecessary change lines for hid_err.
--- drivers/hid/hid-sensor-hub.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/hid/hid-sensor-hub.c +3 -5
@@ -564,8 +564,7 @@ static int sensor_hub_probe(struct hid_device *hdev,sizeof (struct mfd_cell ), GFP_KERNEL);if (sd->hid_sensor_hub_client_devs ==NULL ) { -hid_err (hdev, -"Failed to allocate memory for mfd cells\n" ); +hid_err (hdev,"Failed to allocate memory for mfd cells\n" ); ret = -ENOMEM ; goto err_close; }
@@ -577,8 +576,7 @@ static int sensor_hub_probe(struct hid_device *hdev, name =kasprintf (GFP_KERNEL ,"HID-SENSOR-%x" , field->physical);if (name ==NULL ) { -hid_err (hdev, -"Failed MFD device name\n" ); +hid_err (hdev,"Failed MFD device name\n" ); ret = -ENOMEM ; goto err_free_names; }
@@ -624,8 +622,8 @@ static void sensor_hub_remove(struct hid_device *hdev)int i;hid_dbg (hdev," hardware removed\n" ); -hid_hw_stop (hdev);hid_hw_close (hdev); +hid_hw_stop (hdev);spin_lock_irqsave (&data->lock, flags);if (data->pending.status)complete (&data->pending.ready);
--
1.7.9.5
Jiri Kosina
Acked-byRE: [PATCH 3/3] HID: hid-sensor-hub: Call hid_hw_close() before hid_hw_stop()
Quoted 2 lines · Srinivas
I think you can merge this patch with your patch 2/3 as both are addressing
hid_hw_closeandhid_hw_stop.
Agreed. In addition to that, I am fine with the changes. As this whole lot is going through Jonathan to Greg, I just add my
and let Jonathan take it. Thanks,
Signature · 2 lines
Jiri Kosina SUSE Labs
Pandruvada, Srinivas
Acked-by Jiri KosinaRE: [PATCH 3/3] HID: hid-sensor-hub: Call hid_hw_close() before hid_hw_stop()
Hi Alex,
Can you resubmit your patches merging 2/3 and 3/3?
Thanks,
Srinivas
-----Original Message-----
From: Jiri Kosina [mailto:[email protected]]
Sent: Monday, September 17, 2012 3:58 AM
To: Pandruvada, Srinivas
Cc: Axel Lin; Jonathan Cameron; [email protected]
Subject: RE: [PATCH 3/3] HID: hid-sensor-hub: Call hid_hw_close() before hid_hw_stop()
Quoted 2 lines · Srinivas
I think you can merge this patch with your patch 2/3 as both are addressing
hid_hw_closeandhid_hw_stop.
Agreed. In addition to that, I am fine with the changes. As this whole lot is going through Jonathan to Greg, I just add my
and let Jonathan take it. Thanks,
--
Jiri Kosina
SUSE Labs