1. 16 Jun, 2009 1 commit
  2. 31 Mar, 2009 2 commits
  3. 26 Mar, 2009 3 commits
  4. 25 Dec, 2008 4 commits
    • Sebastian Ott's avatar
      [S390] cio: commit all pmcw changes. · f444cc0e
      Sebastian Ott authored
      
      
      Sometimes we change the pmcw configuration but don't call msch
      to transmit these changes to the channel subsystem.
      
      The patch fixes this by calling cio_commit_config in such cases.
      Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      f444cc0e
    • Sebastian Ott's avatar
      [S390] cio: introduce cio_commit_config · 13952ec1
      Sebastian Ott authored
      
      
      To change the configuration of a subchannel we alter the modifiable
      bits of the subchannel's schib field and issue a modify subchannel.
      There can be the case that not all changes were applied -or worse-
      quietly overwritten by the hardware. With the next store subchannel
      we obtain the current state of the hardware but lose our target
      configuration.
      
      With this patch we introduce a subchannel_config structure which
      contains the target subchannel configuration. Additionally the msch
      wrapper cio_modify is replaced with cio_commit_config which
      copies the desired changes to a temporary schib. msch is then
      called with the temporary schib. This schib is only written back
      to the subchannel if all changes were applied.
      Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      13952ec1
    • Sebastian Ott's avatar
      [S390] cio: introduce cio_update_schib · cdb912a4
      Sebastian Ott authored
      
      
      There is the chance that we get condition code 0 for a stsch but
      the resulting schib is not vaild. In the current code there are
      2 cases:
      * we do a check for validity of the schib after stsch, but at this
        time we have already stored the invaild schib in the subchannel
        structure. This may lead to problems.
      * we don't do a check for validity, which is not that good either.
      
      The patch addresses both issues by introducing the stsch wrapper
      cio_update_schib which performs stsch on a local schib. This schib
      is only written back to the subchannel if it's valid.
      
      side note: For some functions (chp_events) the return codes are
      different now (-ENXIO vs -ENODEV) but this shouldn't do harm
      since the caller doesn't check for _specific_ errors.
      Signed-off-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      cdb912a4
    • Cornelia Huck's avatar
      [S390] cio: Fix reference counting for online/offline. · 9cd67421
      Cornelia Huck authored
      
      
      The current code attempts to get an extra reference count
      for online devices by doing a get_device() in ccw_device_online()
      and a put_device() in ccw_device_done(). However, this
      - incorrectly obtains an extra reference for disconnected
        devices becoming available again (since they are already
        online)
      - needs special checks for css_init_done in order to handle
        the console device
      - is not obvious and
      - may incorretly drop a reference count in ccw_device_done() if
        that function is called after path verification for a device
        that just became not operational.
      
      So let's just get the reference in ccw_device_set_online() and
      drop it in ccw_device_set_offline(). (Unfortunately, we still
      need the special case in io_subchannel_probe().)
      Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      9cd67421
  5. 10 Oct, 2008 1 commit
  6. 09 Sep, 2008 1 commit
  7. 21 Aug, 2008 1 commit
  8. 14 Jul, 2008 4 commits
  9. 07 May, 2008 1 commit
  10. 30 Apr, 2008 1 commit
  11. 26 Jan, 2008 8 commits
  12. 20 Nov, 2007 1 commit
  13. 12 Oct, 2007 2 commits
  14. 27 Jul, 2007 1 commit
  15. 31 May, 2007 1 commit
  16. 27 Apr, 2007 6 commits
  17. 05 Mar, 2007 2 commits