Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
01b3add8
Commit
01b3add8
authored
Aug 12, 2016
by
James Bottomley
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'mkp-scsi/4.8/scsi-fixes' into fixes
parents
29b4817d
e120dcb6
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
35 additions
and
24 deletions
+35
-24
drivers/scsi/aacraid/commctrl.c
drivers/scsi/aacraid/commctrl.c
+11
-2
drivers/scsi/fcoe/fcoe_ctlr.c
drivers/scsi/fcoe/fcoe_ctlr.c
+1
-1
drivers/scsi/ipr.c
drivers/scsi/ipr.c
+6
-5
drivers/scsi/megaraid/megaraid_sas_base.c
drivers/scsi/megaraid/megaraid_sas_base.c
+3
-3
drivers/scsi/megaraid/megaraid_sas_fusion.c
drivers/scsi/megaraid/megaraid_sas_fusion.c
+1
-1
drivers/scsi/mpt3sas/mpt3sas_base.c
drivers/scsi/mpt3sas/mpt3sas_base.c
+11
-11
drivers/scsi/ses.c
drivers/scsi/ses.c
+2
-1
No files found.
drivers/scsi/aacraid/commctrl.c
View file @
01b3add8
...
@@ -63,7 +63,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
...
@@ -63,7 +63,7 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
struct
fib
*
fibptr
;
struct
fib
*
fibptr
;
struct
hw_fib
*
hw_fib
=
(
struct
hw_fib
*
)
0
;
struct
hw_fib
*
hw_fib
=
(
struct
hw_fib
*
)
0
;
dma_addr_t
hw_fib_pa
=
(
dma_addr_t
)
0LL
;
dma_addr_t
hw_fib_pa
=
(
dma_addr_t
)
0LL
;
unsigned
size
;
unsigned
int
size
,
o
size
;
int
retval
;
int
retval
;
if
(
dev
->
in_reset
)
{
if
(
dev
->
in_reset
)
{
...
@@ -87,7 +87,8 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
...
@@ -87,7 +87,8 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
* will not overrun the buffer when we copy the memory. Return
* will not overrun the buffer when we copy the memory. Return
* an error if we would.
* an error if we would.
*/
*/
size
=
le16_to_cpu
(
kfib
->
header
.
Size
)
+
sizeof
(
struct
aac_fibhdr
);
osize
=
size
=
le16_to_cpu
(
kfib
->
header
.
Size
)
+
sizeof
(
struct
aac_fibhdr
);
if
(
size
<
le16_to_cpu
(
kfib
->
header
.
SenderSize
))
if
(
size
<
le16_to_cpu
(
kfib
->
header
.
SenderSize
))
size
=
le16_to_cpu
(
kfib
->
header
.
SenderSize
);
size
=
le16_to_cpu
(
kfib
->
header
.
SenderSize
);
if
(
size
>
dev
->
max_fib_size
)
{
if
(
size
>
dev
->
max_fib_size
)
{
...
@@ -118,6 +119,14 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
...
@@ -118,6 +119,14 @@ static int ioctl_send_fib(struct aac_dev * dev, void __user *arg)
goto
cleanup
;
goto
cleanup
;
}
}
/* Sanity check the second copy */
if
((
osize
!=
le16_to_cpu
(
kfib
->
header
.
Size
)
+
sizeof
(
struct
aac_fibhdr
))
||
(
size
<
le16_to_cpu
(
kfib
->
header
.
SenderSize
)))
{
retval
=
-
EINVAL
;
goto
cleanup
;
}
if
(
kfib
->
header
.
Command
==
cpu_to_le16
(
TakeABreakPt
))
{
if
(
kfib
->
header
.
Command
==
cpu_to_le16
(
TakeABreakPt
))
{
aac_adapter_interrupt
(
dev
);
aac_adapter_interrupt
(
dev
);
/*
/*
...
...
drivers/scsi/fcoe/fcoe_ctlr.c
View file @
01b3add8
...
@@ -2923,7 +2923,7 @@ static int fcoe_ctlr_vlan_recv(struct fcoe_ctlr *fip, struct sk_buff *skb)
...
@@ -2923,7 +2923,7 @@ static int fcoe_ctlr_vlan_recv(struct fcoe_ctlr *fip, struct sk_buff *skb)
mutex_unlock
(
&
fip
->
ctlr_mutex
);
mutex_unlock
(
&
fip
->
ctlr_mutex
);
drop:
drop:
kfree
(
skb
);
kfree
_skb
(
skb
);
return
rc
;
return
rc
;
}
}
...
...
drivers/scsi/ipr.c
View file @
01b3add8
...
@@ -10410,8 +10410,11 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
...
@@ -10410,8 +10410,11 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
__ipr_remove
(
pdev
);
__ipr_remove
(
pdev
);
return
rc
;
return
rc
;
}
}
spin_lock_irqsave
(
ioa_cfg
->
host
->
host_lock
,
flags
);
ioa_cfg
->
scan_enabled
=
1
;
schedule_work
(
&
ioa_cfg
->
work_q
);
spin_unlock_irqrestore
(
ioa_cfg
->
host
->
host_lock
,
flags
);
scsi_scan_host
(
ioa_cfg
->
host
);
ioa_cfg
->
iopoll_weight
=
ioa_cfg
->
chip_cfg
->
iopoll_weight
;
ioa_cfg
->
iopoll_weight
=
ioa_cfg
->
chip_cfg
->
iopoll_weight
;
if
(
ioa_cfg
->
iopoll_weight
&&
ioa_cfg
->
sis64
&&
ioa_cfg
->
nvectors
>
1
)
{
if
(
ioa_cfg
->
iopoll_weight
&&
ioa_cfg
->
sis64
&&
ioa_cfg
->
nvectors
>
1
)
{
...
@@ -10421,10 +10424,8 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
...
@@ -10421,10 +10424,8 @@ static int ipr_probe(struct pci_dev *pdev, const struct pci_device_id *dev_id)
}
}
}
}
spin_lock_irqsave
(
ioa_cfg
->
host
->
host_lock
,
flags
);
scsi_scan_host
(
ioa_cfg
->
host
);
ioa_cfg
->
scan_enabled
=
1
;
schedule_work
(
&
ioa_cfg
->
work_q
);
spin_unlock_irqrestore
(
ioa_cfg
->
host
->
host_lock
,
flags
);
return
0
;
return
0
;
}
}
...
...
drivers/scsi/megaraid/megaraid_sas_base.c
View file @
01b3add8
...
@@ -5037,7 +5037,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
...
@@ -5037,7 +5037,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
/* Find first memory bar */
/* Find first memory bar */
bar_list
=
pci_select_bars
(
instance
->
pdev
,
IORESOURCE_MEM
);
bar_list
=
pci_select_bars
(
instance
->
pdev
,
IORESOURCE_MEM
);
instance
->
bar
=
find_first_bit
(
&
bar_list
,
sizeof
(
unsigned
long
));
instance
->
bar
=
find_first_bit
(
&
bar_list
,
sizeof
(
unsigned
long
));
if
(
pci_request_selected_regions
(
instance
->
pdev
,
instance
->
bar
,
if
(
pci_request_selected_regions
(
instance
->
pdev
,
1
<<
instance
->
bar
,
"megasas: LSI"
))
{
"megasas: LSI"
))
{
dev_printk
(
KERN_DEBUG
,
&
instance
->
pdev
->
dev
,
"IO memory region busy!
\n
"
);
dev_printk
(
KERN_DEBUG
,
&
instance
->
pdev
->
dev
,
"IO memory region busy!
\n
"
);
return
-
EBUSY
;
return
-
EBUSY
;
...
@@ -5339,7 +5339,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
...
@@ -5339,7 +5339,7 @@ static int megasas_init_fw(struct megasas_instance *instance)
iounmap
(
instance
->
reg_set
);
iounmap
(
instance
->
reg_set
);
fail_ioremap:
fail_ioremap:
pci_release_selected_regions
(
instance
->
pdev
,
instance
->
bar
);
pci_release_selected_regions
(
instance
->
pdev
,
1
<<
instance
->
bar
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
...
@@ -5360,7 +5360,7 @@ static void megasas_release_mfi(struct megasas_instance *instance)
...
@@ -5360,7 +5360,7 @@ static void megasas_release_mfi(struct megasas_instance *instance)
iounmap
(
instance
->
reg_set
);
iounmap
(
instance
->
reg_set
);
pci_release_selected_regions
(
instance
->
pdev
,
instance
->
bar
);
pci_release_selected_regions
(
instance
->
pdev
,
1
<<
instance
->
bar
);
}
}
/**
/**
...
...
drivers/scsi/megaraid/megaraid_sas_fusion.c
View file @
01b3add8
...
@@ -2603,7 +2603,7 @@ megasas_release_fusion(struct megasas_instance *instance)
...
@@ -2603,7 +2603,7 @@ megasas_release_fusion(struct megasas_instance *instance)
iounmap
(
instance
->
reg_set
);
iounmap
(
instance
->
reg_set
);
pci_release_selected_regions
(
instance
->
pdev
,
instance
->
bar
);
pci_release_selected_regions
(
instance
->
pdev
,
1
<<
instance
->
bar
);
}
}
/**
/**
...
...
drivers/scsi/mpt3sas/mpt3sas_base.c
View file @
01b3add8
...
@@ -2188,6 +2188,17 @@ mpt3sas_base_map_resources(struct MPT3SAS_ADAPTER *ioc)
...
@@ -2188,6 +2188,17 @@ mpt3sas_base_map_resources(struct MPT3SAS_ADAPTER *ioc)
}
else
}
else
ioc
->
msix96_vector
=
0
;
ioc
->
msix96_vector
=
0
;
if
(
ioc
->
is_warpdrive
)
{
ioc
->
reply_post_host_index
[
0
]
=
(
resource_size_t
__iomem
*
)
&
ioc
->
chip
->
ReplyPostHostIndex
;
for
(
i
=
1
;
i
<
ioc
->
cpu_msix_table_sz
;
i
++
)
ioc
->
reply_post_host_index
[
i
]
=
(
resource_size_t
__iomem
*
)
((
u8
__iomem
*
)
&
ioc
->
chip
->
Doorbell
+
(
0x4000
+
((
i
-
1
)
*
4
)));
}
list_for_each_entry
(
reply_q
,
&
ioc
->
reply_queue_list
,
list
)
list_for_each_entry
(
reply_q
,
&
ioc
->
reply_queue_list
,
list
)
pr_info
(
MPT3SAS_FMT
"%s: IRQ %d
\n
"
,
pr_info
(
MPT3SAS_FMT
"%s: IRQ %d
\n
"
,
reply_q
->
name
,
((
ioc
->
msix_enable
)
?
"PCI-MSI-X enabled"
:
reply_q
->
name
,
((
ioc
->
msix_enable
)
?
"PCI-MSI-X enabled"
:
...
@@ -5280,17 +5291,6 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc)
...
@@ -5280,17 +5291,6 @@ mpt3sas_base_attach(struct MPT3SAS_ADAPTER *ioc)
if
(
r
)
if
(
r
)
goto
out_free_resources
;
goto
out_free_resources
;
if
(
ioc
->
is_warpdrive
)
{
ioc
->
reply_post_host_index
[
0
]
=
(
resource_size_t
__iomem
*
)
&
ioc
->
chip
->
ReplyPostHostIndex
;
for
(
i
=
1
;
i
<
ioc
->
cpu_msix_table_sz
;
i
++
)
ioc
->
reply_post_host_index
[
i
]
=
(
resource_size_t
__iomem
*
)
((
u8
__iomem
*
)
&
ioc
->
chip
->
Doorbell
+
(
0x4000
+
((
i
-
1
)
*
4
)));
}
pci_set_drvdata
(
ioc
->
pdev
,
ioc
->
shost
);
pci_set_drvdata
(
ioc
->
pdev
,
ioc
->
shost
);
r
=
_base_get_ioc_facts
(
ioc
,
CAN_SLEEP
);
r
=
_base_get_ioc_facts
(
ioc
,
CAN_SLEEP
);
if
(
r
)
if
(
r
)
...
...
drivers/scsi/ses.c
View file @
01b3add8
...
@@ -778,6 +778,8 @@ static void ses_intf_remove_enclosure(struct scsi_device *sdev)
...
@@ -778,6 +778,8 @@ static void ses_intf_remove_enclosure(struct scsi_device *sdev)
if
(
!
edev
)
if
(
!
edev
)
return
;
return
;
enclosure_unregister
(
edev
);
ses_dev
=
edev
->
scratch
;
ses_dev
=
edev
->
scratch
;
edev
->
scratch
=
NULL
;
edev
->
scratch
=
NULL
;
...
@@ -789,7 +791,6 @@ static void ses_intf_remove_enclosure(struct scsi_device *sdev)
...
@@ -789,7 +791,6 @@ static void ses_intf_remove_enclosure(struct scsi_device *sdev)
kfree
(
edev
->
component
[
0
].
scratch
);
kfree
(
edev
->
component
[
0
].
scratch
);
put_device
(
&
edev
->
edev
);
put_device
(
&
edev
->
edev
);
enclosure_unregister
(
edev
);
}
}
static
void
ses_intf_remove
(
struct
device
*
cdev
,
static
void
ses_intf_remove
(
struct
device
*
cdev
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment