mtd: Few follow up cleanups for Smartmedia/xD support

* Test results of few functions that were declared with __must_check
* Fix bogus gcc warning about uinitialized variable 'ret'
* Remove unused variable from mtdblock_remove_dev
* Don't use deprecated DMA_32BIT_MASK

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
diff --git a/drivers/mtd/sm_ftl.c b/drivers/mtd/sm_ftl.c
index a59ebb4..9fb56c7 100644
--- a/drivers/mtd/sm_ftl.c
+++ b/drivers/mtd/sm_ftl.c
@@ -228,7 +228,7 @@
 	struct mtd_info *mtd = ftl->trans->mtd;
 	struct mtd_oob_ops ops;
 	struct sm_oob tmp_oob;
-	int ret;
+	int ret = -EIO;
 	int try = 0;
 
 	/* FTL can contain -1 entries that are by default filled with bits */
@@ -753,6 +753,7 @@
 	uint16_t block;
 	int lba;
 	int i = 0;
+	int len;
 
 	dbg("initializing zone %d", zone_num);
 
@@ -856,7 +857,9 @@
 	i %= (kfifo_len(&zone->free_sectors) / 2);
 
 	while (i--) {
-		kfifo_out(&zone->free_sectors, (unsigned char *)&block, 2);
+		len = kfifo_out(&zone->free_sectors,
+					(unsigned char *)&block, 2);
+		WARN_ON(len != 2);
 		kfifo_in(&zone->free_sectors, (const unsigned char *)&block, 2);
 	}
 	return 0;
@@ -947,17 +950,17 @@
 
 	if (ftl->unstable)
 		return -EIO;
-	/* No spare blocks */
-	/* We could still continue by erasing the current block,
+
+	/* If there are no spare blocks, */
+	/* we could still continue by erasing/writing the current block,
 		but for such worn out media it doesn't worth the trouble,
 			and the dangers */
-
-	if (!kfifo_len(&zone->free_sectors)) {
+	if (kfifo_out(&zone->free_sectors,
+				(unsigned char *)&write_sector, 2) != 2) {
 		dbg("no free sectors for write!");
 		return -EIO;
 	}
 
-	kfifo_out(&zone->free_sectors, (unsigned char *)&write_sector, 2);
 
 	if (sm_write_block(ftl, ftl->cache_data, zone_num, write_sector,
 		ftl->cache_block, ftl->cache_data_invalid_bitmap))