Merge branch 'master' of git://git.denx.de/u-boot-x86
diff --git a/drivers/mtd/spi/sf_ops.c b/drivers/mtd/spi/sf_ops.c
index d832464..384224d 100644
--- a/drivers/mtd/spi/sf_ops.c
+++ b/drivers/mtd/spi/sf_ops.c
@@ -268,9 +268,12 @@
 		return -1;
 	}
 
-	if (flash->flash_is_locked(flash, offset, len) > 0) {
-		printf("offset 0x%x is protected and cannot be erased\n", offset);
-		return -EINVAL;
+	if (flash->flash_is_locked) {
+		if (flash->flash_is_locked(flash, offset, len) > 0) {
+			printf("offset 0x%x is protected and cannot be erased\n",
+			       offset);
+			return -EINVAL;
+		}
 	}
 
 	cmd[0] = flash->erase_cmd;
@@ -315,9 +318,12 @@
 
 	page_size = flash->page_size;
 
-	if (flash->flash_is_locked(flash, offset, len) > 0) {
-		printf("offset 0x%x is protected and cannot be written\n", offset);
-		return -EINVAL;
+	if (flash->flash_is_locked) {
+		if (flash->flash_is_locked(flash, offset, len) > 0) {
+			printf("offset 0x%x is protected and cannot be written\n",
+			       offset);
+			return -EINVAL;
+		}
 	}
 
 	cmd[0] = flash->write_cmd;
diff --git a/include/spi_flash.h b/include/spi_flash.h
index 0ae0062..f25b3e7 100644
--- a/include/spi_flash.h
+++ b/include/spi_flash.h
@@ -237,7 +237,7 @@
 static inline int spi_flash_protect(struct spi_flash *flash, u32 ofs, u32 len,
 					bool prot)
 {
-	if (!flash->flash_lock)
+	if (!flash->flash_lock || !flash->flash_unlock)
 		return -EOPNOTSUPP;
 
 	if (prot)