summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-11-20 16:29:42 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-11-20 16:29:42 +0000
commitc7120182addb4b4957b7a750c3adb76e7c6d24da (patch)
treeda1fc71426a2990db69862ca09d380fa7e9aeb24 /target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch
parente68ec7a18316dad7dd671365f729b6382d6e91b9 (diff)
ar71xx: make ar934x_nfc driver compatible with 3.7
Also add compatibility patches for the currently supported kernels. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34278 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch')
-rw-r--r--target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch b/target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch
new file mode 100644
index 0000000000..c4c462804e
--- /dev/null
+++ b/target/linux/ar71xx/patches-3.3/a05-ar934x_nfc-add-buffer-verification.patch
@@ -0,0 +1,29 @@
+--- a/drivers/mtd/nand/ar934x_nfc.c
++++ b/drivers/mtd/nand/ar934x_nfc.c
+@@ -762,6 +762,18 @@ ar934x_nfc_read_buf(struct mtd_info *mtd
+ nfc->buf_index = buf_index;
+ }
+
++static int
++ar934x_nfc_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
++{
++ int i;
++
++ for (i = 0; i < len; i++)
++ if (buf[i] != ar934x_nfc_read_byte(mtd))
++ return -EFAULT;
++
++ return 0;
++}
++
+ static void
+ ar934x_nfc_hw_init(struct ar934x_nfc *nfc)
+ {
+@@ -1048,6 +1060,7 @@ ar934x_nfc_probe(struct platform_device
+ nand->read_byte = ar934x_nfc_read_byte;
+ nand->write_buf = ar934x_nfc_write_buf;
+ nand->read_buf = ar934x_nfc_read_buf;
++ nand->verify_buf = ar934x_nfc_verify_buf;
+ nand->select_chip = ar934x_nfc_select_chip;
+
+ ret = ar934x_nfc_alloc_buf(nfc, AR934X_NFC_ID_BUF_SIZE);