1. 05 7月, 2017 1 次提交
  2. 28 6月, 2017 1 次提交
    • J
      s390/dasd: Fix faulty ENODEV for RO sysfs attribute · 795c9a51
      Jan Höppner 提交于
      If a device is offline it can still be set to read-only via the bus id
      through sysfs. Only the read-only feature flag for the ccw_device is
      then set. If the device is online the corresponding block device needs
      to be set to read-only as well (via set_disk_ro()).
      The check whether there is a device to do so, however, happens after the
      feature flag was set. This leads to an unnecessary "no such device"
      error in the offline case.
      
      This bug was introduced by commit 7571cb1c8e3cc ("s390/dasd: Make use of
      dasd_set_feature() more often"). Fix this by simply returning count if
      no device is available.
      
      Fixes: 7571cb1c8e3cc ("s390/dasd: Make use of dasd_set_feature() more often")
      Reviewed-by: NStefan Haberland <sth@linux.vnet.ibm.com>
      Signed-off-by: NJan Höppner <hoeppner@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      795c9a51
  3. 19 6月, 2017 1 次提交
  4. 12 6月, 2017 16 次提交
  5. 09 6月, 2017 1 次提交
    • C
      block: introduce new block status code type · 2a842aca
      Christoph Hellwig 提交于
      Currently we use nornal Linux errno values in the block layer, and while
      we accept any error a few have overloaded magic meanings.  This patch
      instead introduces a new  blk_status_t value that holds block layer specific
      status codes and explicitly explains their meaning.  Helpers to convert from
      and to the previous special meanings are provided for now, but I suspect
      we want to get rid of them in the long run - those drivers that have a
      errno input (e.g. networking) usually get errnos that don't know about
      the special block layer overloads, and similarly returning them to userspace
      will usually return somethings that strictly speaking isn't correct
      for file system operations, but that's left as an exercise for later.
      
      For now the set of errors is a very limited set that closely corresponds
      to the previous overloaded errno values, but there is some low hanging
      fruite to improve it.
      
      blk_status_t (ab)uses the sparse __bitwise annotations to allow for sparse
      typechecking, so that we can easily catch places passing the wrong values.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      2a842aca
  6. 08 6月, 2017 1 次提交
  7. 02 6月, 2017 1 次提交
    • H
      s390/zcrypt: Fix blocking queue device after unbind/bind. · e3850508
      Harald Freudenberger 提交于
      When the association between a queue device and the
      driver is released via unbind and later re-associated
      the queue device was not operational any more. Reason
      was a wrong administration of the card/queue lists
      within the ap device driver.
      
      This patch introduces revised card/queue list handling
      within the ap device driver: when an ap device is
      detected it is initial not added to the card/queue list
      any more. With driver probe the card device is added to
      the card list/the queue device is added to the queue list
      within a card. With driver remove the device is removed
      from the card/queue list. Additionally there are some
      situations within the ap device live where the lists
      need update upon card/queue device release (for example
      device hot unplug or suspend/resume).
      Signed-off-by: NHarald Freudenberger <freude@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      e3850508
  8. 22 5月, 2017 1 次提交
  9. 15 5月, 2017 1 次提交
  10. 12 5月, 2017 4 次提交
    • U
      s390/qeth: add missing hash table initializations · ebccc739
      Ursula Braun 提交于
      commit 5f78e29c ("qeth: optimize IP handling in rx_mode callback")
      added new hash tables, but missed to initialize them.
      
      Fixes: 5f78e29c ("qeth: optimize IP handling in rx_mode callback")
      Signed-off-by: NUrsula Braun <ubraun@linux.vnet.ibm.com>
      Reviewed-by: NJulian Wiedmann <jwi@linux.vnet.ibm.com>
      Signed-off-by: NJulian Wiedmann <jwi@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ebccc739
    • J
      s390/qeth: avoid null pointer dereference on OSN · 25e2c341
      Julian Wiedmann 提交于
      Access card->dev only after checking whether's its valid.
      Signed-off-by: NJulian Wiedmann <jwi@linux.vnet.ibm.com>
      Reviewed-by: NUrsula Braun <ubraun@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25e2c341
    • J
      s390/qeth: unbreak OSM and OSN support · 2d2ebb3e
      Julian Wiedmann 提交于
      commit b4d72c08 ("qeth: bridgeport support - basic control")
      broke the support for OSM and OSN devices as follows:
      
      As OSM and OSN are L2 only, qeth_core_probe_device() does an early
      setup by loading the l2 discipline and calling qeth_l2_probe_device().
      In this context, adding the l2-specific bridgeport sysfs attributes
      via qeth_l2_create_device_attributes() hits a BUG_ON in fs/sysfs/group.c,
      since the basic sysfs infrastructure for the device hasn't been
      established yet.
      
      Note that OSN actually has its own unique sysfs attributes
      (qeth_osn_devtype), so the additional attributes shouldn't be created
      at all.
      For OSM, add a new qeth_l2_devtype that contains all the common
      and l2-specific sysfs attributes.
      When qeth_core_probe_device() does early setup for OSM or OSN, assign
      the corresponding devtype so that the ccwgroup probe code creates the
      full set of sysfs attributes.
      This allows us to skip qeth_l2_create_device_attributes() in case
      of an early setup.
      
      Any device that can't do early setup will initially have only the
      generic sysfs attributes, and when it's probed later
      qeth_l2_probe_device() adds the l2-specific attributes.
      
      If an early-setup device is removed (by calling ccwgroup_ungroup()),
      device_unregister() will - using the devtype - delete the
      l2-specific attributes before qeth_l2_remove_device() is called.
      So make sure to not remove them twice.
      
      What complicates the issue is that qeth_l2_probe_device() and
      qeth_l2_remove_device() is also called on a device when its
      layer2 attribute changes (ie. its layer mode is switched).
      For early-setup devices this wouldn't work properly - we wouldn't
      remove the l2-specific attributes when switching to L3.
      But switching the layer mode doesn't actually make any sense;
      we already decided that the device can only operate in L2!
      So just refuse to switch the layer mode on such devices. Note that
      OSN doesn't have a layer2 attribute, so we only need to special-case
      OSM.
      
      Based on an initial patch by Ursula Braun.
      
      Fixes: b4d72c08 ("qeth: bridgeport support - basic control")
      Signed-off-by: NJulian Wiedmann <jwi@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d2ebb3e
    • U
      s390/qeth: handle sysfs error during initialization · 9111e788
      Ursula Braun 提交于
      When setting up the device from within the layer discipline's
      probe routine, creating the layer-specific sysfs attributes can fail.
      Report this error back to the caller, and handle it by
      releasing the layer discipline.
      Signed-off-by: NUrsula Braun <ubraun@linux.vnet.ibm.com>
      [jwi: updated commit msg, moved an OSN change to a subsequent patch]
      Signed-off-by: NJulian Wiedmann <jwi@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9111e788
  11. 09 5月, 2017 2 次提交
  12. 03 5月, 2017 1 次提交
  13. 26 4月, 2017 1 次提交
  14. 21 4月, 2017 1 次提交
  15. 20 4月, 2017 1 次提交
  16. 12 4月, 2017 6 次提交