cnic: Shutdown iSCSI ring during uio_close.

The iSCSI ring should be shutdown during uio_close instead of uio_open
for proper operations.  This fixes the problem of the ring getting
stuck intermittently.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Michael Chan 2009-09-21 15:39:37 +00:00 committed by David S. Miller
parent 68f4015274
commit 6ef57a0ea7

View File

@ -85,8 +85,6 @@ static int cnic_uio_open(struct uio_info *uinfo, struct inode *inode)
cp->uio_dev = iminor(inode);
cnic_shutdown_bnx2_rx_ring(dev);
cnic_init_bnx2_tx_ring(dev);
cnic_init_bnx2_rx_ring(dev);
@ -98,6 +96,8 @@ static int cnic_uio_close(struct uio_info *uinfo, struct inode *inode)
struct cnic_dev *dev = uinfo->priv;
struct cnic_local *cp = dev->cnic_priv;
cnic_shutdown_bnx2_rx_ring(dev);
cp->uio_dev = -1;
return 0;
}