|
@@ -345,11 +345,12 @@ static ssize_t m48t59_nvram_read(struct file *filp, struct kobject *kobj,
|
|
|
ssize_t cnt = 0;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- for (; size > 0 && pos < pdata->offset; cnt++, size--) {
|
|
|
- spin_lock_irqsave(&m48t59->lock, flags);
|
|
|
+ spin_lock_irqsave(&m48t59->lock, flags);
|
|
|
+
|
|
|
+ for (; cnt < size; cnt++)
|
|
|
*buf++ = M48T59_READ(cnt);
|
|
|
- spin_unlock_irqrestore(&m48t59->lock, flags);
|
|
|
- }
|
|
|
+
|
|
|
+ spin_unlock_irqrestore(&m48t59->lock, flags);
|
|
|
|
|
|
return cnt;
|
|
|
}
|
|
@@ -365,11 +366,12 @@ static ssize_t m48t59_nvram_write(struct file *filp, struct kobject *kobj,
|
|
|
ssize_t cnt = 0;
|
|
|
unsigned long flags;
|
|
|
|
|
|
- for (; size > 0 && pos < pdata->offset; cnt++, size--) {
|
|
|
- spin_lock_irqsave(&m48t59->lock, flags);
|
|
|
+ spin_lock_irqsave(&m48t59->lock, flags);
|
|
|
+
|
|
|
+ for (; cnt < size; cnt++)
|
|
|
M48T59_WRITE(*buf++, cnt);
|
|
|
- spin_unlock_irqrestore(&m48t59->lock, flags);
|
|
|
- }
|
|
|
+
|
|
|
+ spin_unlock_irqrestore(&m48t59->lock, flags);
|
|
|
|
|
|
return cnt;
|
|
|
}
|