Commit 2a350cab9daf9a46322d83b091bb05cf54ccf6ab

Authored by Douglas Gilbert
Committed by James Bottomley
1 parent 545a876e4b

[SCSI] ses: requesting a fault indication

Noticed that when the sysfs interface of the SCSI SES
driver was used to request a fault indication the LED
flashed but the buzzer didn't sound. So it was doing
what REQUEST IDENT (locate) should do.

Changelog:
   - fix the setting of REQUEST FAULT for the device slot
     and array device slot elements in the enclosure control
     diagnostic page
   - note the potentially defective code that reads the
     FAULT SENSED and FAULT REQUESTED bits from the enclosure
     status diagnostic page

The attached patch is against git/scsi-misc-2.6

Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

Showing 1 changed file with 5 additions and 1 deletions Side-by-side Diff

... ... @@ -160,6 +160,10 @@
160 160 return NULL;
161 161 }
162 162  
  163 +/* For device slot and array device slot elements, byte 3 bit 6
  164 + * is "fault sensed" while byte 3 bit 5 is "fault reqstd". As this
  165 + * code stands these bits are shifted 4 positions right so in
  166 + * sysfs they will appear as bits 2 and 1 respectively. Strange. */
163 167 static void ses_get_fault(struct enclosure_device *edev,
164 168 struct enclosure_component *ecomp)
165 169 {
... ... @@ -181,7 +185,7 @@
181 185 /* zero is disabled */
182 186 break;
183 187 case ENCLOSURE_SETTING_ENABLED:
184   - desc[2] = 0x02;
  188 + desc[3] = 0x20;
185 189 break;
186 190 default:
187 191 /* SES doesn't do the SGPIO blink settings */