]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.7-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Sep 2016 11:37:54 +0000 (13:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Sep 2016 11:37:54 +0000 (13:37 +0200)
added patches:
revert-floppy-refactor-open-flags-handling.patch

queue-4.4/series [new file with mode: 0644]
queue-4.7/revert-floppy-refactor-open-flags-handling.patch [new file with mode: 0644]
queue-4.7/series [new file with mode: 0644]

diff --git a/queue-4.4/series b/queue-4.4/series
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/queue-4.7/revert-floppy-refactor-open-flags-handling.patch b/queue-4.7/revert-floppy-refactor-open-flags-handling.patch
new file mode 100644 (file)
index 0000000..a13bab0
--- /dev/null
@@ -0,0 +1,68 @@
+From f2791e7eadf437633f30faa51b30878cf15650be Mon Sep 17 00:00:00 2001
+From: Jens Axboe <axboe@fb.com>
+Date: Thu, 25 Aug 2016 08:56:51 -0600
+Subject: Revert "floppy: refactor open() flags handling"
+
+From: Jens Axboe <axboe@fb.com>
+
+commit f2791e7eadf437633f30faa51b30878cf15650be upstream.
+
+This reverts commit 09954bad448791ef01202351d437abdd9497a804.
+
+Cc: Mark Hounschell <markh@compro.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/block/floppy.c |   34 +++++++++++++++-------------------
+ 1 file changed, 15 insertions(+), 19 deletions(-)
+
+--- a/drivers/block/floppy.c
++++ b/drivers/block/floppy.c
+@@ -3663,11 +3663,6 @@ static int floppy_open(struct block_devi
+       opened_bdev[drive] = bdev;
+-      if (!(mode & (FMODE_READ|FMODE_WRITE))) {
+-              res = -EINVAL;
+-              goto out;
+-      }
+-
+       res = -ENXIO;
+       if (!floppy_track_buffer) {
+@@ -3711,20 +3706,21 @@ static int floppy_open(struct block_devi
+       if (UFDCS->rawcmd == 1)
+               UFDCS->rawcmd = 2;
+-      UDRS->last_checked = 0;
+-      clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags);
+-      check_disk_change(bdev);
+-      if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags))
+-              goto out;
+-      if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags))
+-              goto out;
+-
+-      res = -EROFS;
+-
+-      if ((mode & FMODE_WRITE) &&
+-                      !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags))
+-              goto out;
+-
++      if (!(mode & FMODE_NDELAY)) {
++              if (mode & (FMODE_READ|FMODE_WRITE)) {
++                      UDRS->last_checked = 0;
++                      clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags);
++                      check_disk_change(bdev);
++                      if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags))
++                              goto out;
++                      if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags))
++                              goto out;
++              }
++              res = -EROFS;
++              if ((mode & FMODE_WRITE) &&
++                  !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags))
++                      goto out;
++      }
+       mutex_unlock(&open_lock);
+       mutex_unlock(&floppy_mutex);
+       return 0;
diff --git a/queue-4.7/series b/queue-4.7/series
new file mode 100644 (file)
index 0000000..fd01cc0
--- /dev/null
@@ -0,0 +1 @@
+revert-floppy-refactor-open-flags-handling.patch