File tree Expand file tree Collapse file tree 4 files changed +13
-1
lines changed Expand file tree Collapse file tree 4 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -36,4 +36,5 @@ I_sceUsbdClosePipe
3636I_sceUsbdSetPrivateData
3737I_sceUsbdTransferPipe
3838I_sceUsbdRegisterLdd
39+ I_sceUsbdGetDeviceLocation
3940usbd_IMPORTS_end
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ struct scsi_interface
55{
66 void * priv ;
77 char * name ;
8+ unsigned int devNr ;
89 unsigned int max_sectors ;
910
1011 int (* get_max_lun )(struct scsi_interface * scsi );
Original file line number Diff line number Diff line change @@ -300,6 +300,7 @@ void scsi_connect(struct scsi_interface *scsi)
300300
301301 bd -> priv = scsi ;
302302 bd -> name = scsi -> name ;
303+ bd -> devNr = scsi -> devNr ;
303304 scsi_warmup (bd );
304305 bdm_connect_bd (bd );
305306 break ;
@@ -330,7 +331,6 @@ int scsi_init(void)
330331 M_DEBUG ("%s\n" , __func__ );
331332
332333 for (i = 0 ; i < NUM_DEVICES ; ++ i ) {
333- g_scsi_bd [i ].devNr = i ;
334334 g_scsi_bd [i ].parNr = 0 ;
335335 g_scsi_bd [i ].parId = 0x00 ;
336336
Original file line number Diff line number Diff line change @@ -764,7 +764,9 @@ static void usb_mass_update(void *arg)
764764 for (i = 0 ; i < new_devs_count ; i += 1 ) {
765765 mass_dev * dev = new_devs [i ];
766766 {
767+ u8 path [16 ] = {0 };
767768 int ret ;
769+
768770 if ((ret = usb_set_configuration (dev , dev -> configId )) != USB_RC_OK ) {
769771 M_PRINTF ("ERROR: sending set_configuration %d\n" , ret );
770772 usb_mass_release (dev );
@@ -784,6 +786,14 @@ static void usb_mass_update(void *arg)
784786 }
785787 }
786788
789+ sceUsbdGetDeviceLocation (dev -> devId , path );
790+ if (path [0 ] == 1 )
791+ dev -> scsi .devNr = 0 ; // first USB port
792+ else if (path [0 ] == 2 )
793+ dev -> scsi .devNr = 1 ; // second USB port
794+ else
795+ dev -> scsi .devNr = 2 ; // hub?
796+
787797 dev -> status |= USBMASS_DEV_STAT_CONF ;
788798 scsi_connect (& dev -> scsi );
789799
You can’t perform that action at this time.
0 commit comments