diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index e3177a0..fd5eae3 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -407,9 +407,24 @@
 
 static void cifs_umount_begin(struct super_block * sblock)
 {
-	cERROR(1,("kill all tasks now - umount begin not implemented yet"));
+	struct cifs_sb_info *cifs_sb;
 
-/* BB FIXME - finish BB */
+	cifs_sb = CIFS_SB(sb);
+	if(cifs_sb == NULL)
+		return -EIO;
+	if(cifs_sb->tcon == NULL)
+		return -EIO;
+	down(&tcon->tconSem);
+	if (atomic_read(&tcon->useCount) == 1)
+		tcon->tidStatus = CifsExiting;
+	up(&tcon->tconSem);
+
+	if((cifs->sb->tcon->ses) && (cifs_sb->tcon->ses->server))
+	{
+		cERROR(1,("wake up tasks now - umount begin not complete"));
+		wake_up_all(&server->request_q);
+	}
+/* BB FIXME - finish add checks for tidStatus BB */
 
 	return;
 }
diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
index d9b1169..d8865fb 100644
--- a/fs/cifs/transport.c
+++ b/fs/cifs/transport.c
@@ -169,6 +169,8 @@
 		}
 		if (rc < 0) 
 			break;
+		else
+			i = 0; /* reset i after each successful send */
 		iov.iov_base += rc;
 		iov.iov_len -= rc;
 		len -= rc;
@@ -263,6 +265,7 @@
 				}
 			}
 		}
+		i = 0; /* in case we get ENOSPC on the next send */
 	}
 
 	if (rc < 0) {
