[PATCH 7/7] staging: unisys: remove redundant unlocks of visornic_devdata.priv_lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Tim Sell <Timothy.Sell@xxxxxxxxxx>

These redundant unlocks of visornic_devdata.priv_lock would result in
the RHEL 7.2 guests hanging during service partition recovery testing.

__Testing__

* An scp of a large file was started from a remote host TO the RHEL 7.2
  Linux guest.

* During the scp transfer, s-Par service partition recovery was forced
  twice. After each occasion, I verified that the guest recovered
  completely (all s-Par guest devices), and that the file transfer
  resumed.

* Within the RHEL 7.2 guest environment, copied the large file to
  another location in the local filesystem.

* During the copy, s-Par service partition recovery was again forced
  twice. After each occasion, I verified that the guest recovered
  completely (all s-Par guest devices), and that the copy resumed.

* An scp of the new copy of the large file was started FROM the RHEL 7.2
  guest to a remote host.

* During the scp transfer, s-Par service partition recovery was forced
  twice. After each occasion, I verified that the guest recovered
  completely (all s-Par guest devices), and that the file transfer
  resumed.

* Used cmp to verify that the large file had successfully survived the
  round-trip without becoming corrupted.

Signed-off-by: Tim Sell <Timothy.Sell@xxxxxxxxxx>
Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx>
---
 drivers/staging/unisys/visornic/visornic_main.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c
index 3a638ca..0a8f361 100644
--- a/drivers/staging/unisys/visornic/visornic_main.c
+++ b/drivers/staging/unisys/visornic/visornic_main.c
@@ -461,7 +461,6 @@ visornic_disable_with_timeout(struct net_device *netdev, const int timeout)
 		if (devdata->enab_dis_acked)
 			break;
 		if (devdata->server_down || devdata->server_change_state) {
-			spin_unlock_irqrestore(&devdata->priv_lock, flags);
 			dev_dbg(&netdev->dev, "%s server went away\n",
 				__func__);
 			break;
@@ -605,7 +604,6 @@ visornic_enable_with_timeout(struct net_device *netdev, const int timeout)
 		if (devdata->enab_dis_acked)
 			break;
 		if (devdata->server_down || devdata->server_change_state) {
-			spin_unlock_irqrestore(&devdata->priv_lock, flags);
 			dev_dbg(&netdev->dev, "%s server went away\n",
 				__func__);
 			break;
-- 
git-series 0.9.1
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux