summaryrefslogtreecommitdiff
path: root/drivers/misc/eeprom
diff options
context:
space:
mode:
authorVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>2013-10-28 21:05:16 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-30 03:24:33 +0400
commit95f774c5268843e78fdb732cd4f27e510bbbba83 (patch)
tree3365a712921f2610c7f5ac21d4c4545f5d8dd058 /drivers/misc/eeprom
parent5c6d6fd1564138ad048564e48639f842714a90c6 (diff)
downloadlinux-95f774c5268843e78fdb732cd4f27e510bbbba83.tar.xz
misc/93xx46: avoid infinite loop on write()
This change fixes a problem of infinite zero byte write() without an error status, if there is an attempt to write a file bigger than EEPROM size over sysfs interface. Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/eeprom')
-rw-r--r--drivers/misc/eeprom/eeprom_93xx46.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eeprom_93xx46.c
index 94cfc1212577..3a015abb444a 100644
--- a/drivers/misc/eeprom/eeprom_93xx46.c
+++ b/drivers/misc/eeprom/eeprom_93xx46.c
@@ -202,7 +202,7 @@ eeprom_93xx46_bin_write(struct file *filp, struct kobject *kobj,
edev = dev_get_drvdata(dev);
if (unlikely(off >= edev->bin.size))
- return 0;
+ return -EFBIG;
if ((off + count) > edev->bin.size)
count = edev->bin.size - off;
if (unlikely(!count))