Re: ses enclosure stuff not working with Promise Vtrak J610S JBOD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2009-11-04 at 19:01 +0100, John Hughes wrote:
> James Bottomley wrote:
> > On Wed, 2009-11-04 at 17:12 +0100, John Hughes wrote:
> >   
> >> # sg_ses -p 0 /dev/sg17
> >>   PROMISE   3U-SAS-16-D BP    0107
> >>     enclosure services device
> >> Supported diagnostic pages:
> >>   Supported diagnostic pages [0x0]
> >>   Configuration (SES) [0x1]
> >>   Enclosure status/control (SES) [0x2]
> >>   Threshold In/Out (SES) [0x5]
> >>   Enclosure busy (SES-2) [0x9]
> >>   Additional (device) element status (SES-2) [0xa]
> >>     
> >
> > This may also be a problem.  My enclosure returns page 7 as well.  The
> > traversal routine has special code to try to parse page 10 without a
> > page 7 ... I don't think I actually ever tested that ...
> >   
> As far as I can tell you only use page 7 to get the slot names, but you 
> ignore the "addl_desc_ptr" information in page10 if you didn't get page7.
> 
> With the following patch I get the "device" directories in the enclosure 
> bay directories, even for the SATA drive.  (Maybe this is because the 
> SATA drive is behind a so-called "aamux" device).
> 
> I also find the "enclosure_device:xxx" link in the 
> /sys/block/sdxx/device directory
> 
> # ls -l /sys/block/sdaa/device/enclosure_device:13
> lrwxrwxrwx 1 root root 0 2009-11-04 18:57 /sys/block/sdaa/device/enclosure_device:13 -> ../../../../../../../../../../../../class/enclosure/4:0:14:0/13
> 
> Yay!
> 
> diff --git a/drivers/scsi/ses.c b/drivers/scsi/ses.c
> index 55b034b..725a095 100644
> --- a/drivers/scsi/ses.c
> +++ b/drivers/scsi/ses.c
> @@ -389,9 +389,9 @@ static void ses_enclosure_data_process(struct enclosure_devi
>                 len = (desc_ptr[2] << 8) + desc_ptr[3];
>                 /* skip past overall descriptor */
>                 desc_ptr += len + 4;
> -               if (ses_dev->page10)
> -                       addl_desc_ptr = ses_dev->page10 + 8;
>         }
> +       if (ses_dev->page10)
> +               addl_desc_ptr = ses_dev->page10 + 8;

Ah, yes ... knew I'd done something stupid.

Could you format this properly (as in with description) and add a signed
off by line and I'll put it in the bug fixes tree.

Thanks,

James


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux