[CIFS] ACPI suspend oops
authorSteve French <sfrench@us.ibm.com>
Tue, 30 May 2006 18:05:10 +0000 (18:05 +0000)
committerSteve French <sfrench@us.ibm.com>
Tue, 30 May 2006 18:05:10 +0000 (18:05 +0000)
Wasn't able to reproduce a hard hang, but was able to get an oops if
suspended the machine during a copy to the cifs mount.  This led to some
things hanging, including a "sync".  Also got I/O errors when trying to
access the mount afterwards (even when didn't see the oops), and had
to unmount and remount in order to access the filesystem.

This patch fixed the oops.

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/file.c

index 7ef30efe8f98de8a86466af17476f8c0de23a542..c881a1a29f0b14d4e85f7fd172af2858f778597a 100644 (file)
@@ -904,8 +904,10 @@ static ssize_t cifs_write(struct file *file, const char *write_data,
                                if (rc != 0)
                                        break;
                        }
-                       if(experimEnabled || (pTcon->ses->server->secMode & 
-                        (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) == 0) {
+                       if(experimEnabled || (pTcon->ses->server &&
+                               (pTcon->ses->server->secMode & 
+                               (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)
+                               == 0))) {
                                struct kvec iov[2];
                                unsigned int len;