home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / etc / sysconfig / hardware / scripts / hwdown-ccw < prev    next >
Text File  |  2006-11-29  |  2KB  |  69 lines

  1. #!/bin/bash
  2. #
  3. # Deconfigures a ccw interface.
  4. # $Id: hwdown-ccw 1415 2006-02-16 09:16:36Z hare $
  5. #
  6. # Currently handles ctc, qeth, and dasd devices.
  7. # lcs and escon support untested.
  8.  
  9. SCRIPTNAME=${0##*/}
  10. CONFIG=$1
  11. HWDESC=$2
  12.  
  13. # Read in common functions
  14. . ./scripts/functions
  15. test -r ./config && . ./config
  16.  
  17.  
  18. if test -z "$SYSFS"; then
  19.     message "sysfs not mounted, aborting."
  20.     exit 1
  21. fi
  22.  
  23. # Set defaults
  24. if [ -z "$HWD_DEVICEPATH" ]; then
  25.     HWD_DEVICEPATH=${SYSFS}/bus/ccwgroup/devices/${HWD_BUSID}
  26. fi
  27.  
  28. if [ ! -d "$HWD_DEVICEPATH" ]; then
  29.     message "No hardware devicepath given, cannot configure"
  30.     exit 1
  31. fi
  32.  
  33. # Check whether it is a group device
  34. if test -d $HWD_DEVICEPATH/group_device; then
  35.     HWD_DEVICEPATH=$HWD_DEVICEPATH/group_device
  36. fi
  37.  
  38. # Deconfigure interface
  39. message_n "Deconfigure device $HWD_BUSID: "
  40.  
  41. read _online < $HWD_DEVICEPATH/online
  42. # Device configured, set it offline
  43. if [ $_online -ne 0 ]; then
  44.     echo "0" > $HWD_DEVICEPATH/online
  45.     debug "Setting device $HWD_BUSID offline"
  46. fi
  47.  
  48. # Re-read for failures
  49. read _online < $HWD_DEVICEPATH/online
  50. if [ $_online -ne 0 ]; then
  51.     message "failed."
  52. else
  53.     # Check whether we need to ungroup it
  54.     if test -w $HWD_DEVICEPATH/ungroup ; then
  55.         # We cannot use hotplug events here as the
  56.         # devices are already gone from sysfs
  57.     echo "1" > $HWD_DEVICEPATH/ungroup
  58.     debug "Device group $HWD_BUSID deconfigured"
  59.     fi
  60.  
  61.     # Check whether we need to reset DIAG access
  62.     if test -w $HWD_DEVICEPATH/use_diag ; then
  63.     echo "0" > $HWD_DEVICEPATH/use_diag
  64.     debug "Reset DIAG access for $HWD_BUSID"
  65.     fi
  66.     message "ok."
  67. fi
  68.