Skip to content

Commit 0637a68

Browse files
committed
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "Updates to the usual drivers (ufs, lpfc, hisi_sas, st). Amazingly enough, no core changes with the biggest set of driver changes being ufs (which conflicted with it's own fixes a bit, hence the merges) and the rest being minor fixes and updates" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (97 commits) scsi: st: New session only when Unit Attention for new tape scsi: st: Add MTIOCGET and MTLOAD to ioctls allowed after device reset scsi: st: Don't modify unknown block number in MTIOCGET scsi: ufs: core: Restore SM8650 support scsi: sun3: Mark driver struct with __refdata to prevent section mismatch scsi: sg: Enable runtime power management scsi: qedi: Fix a possible memory leak in qedi_alloc_and_init_sb() scsi: qedf: Fix a possible memory leak in qedf_alloc_and_init_sb() scsi: fusion: Remove unused variable 'rc' scsi: bfa: Fix use-after-free in bfad_im_module_exit() scsi: esas2r: Remove unused esas2r_build_cli_req() scsi: target: Fix incorrect function name in pscsi_create_type_disk() scsi: ufs: Replace deprecated PCI functions scsi: Switch back to struct platform_driver::remove() scsi: pm8001: Increase request sg length to support 4MiB requests scsi: pm8001: Initialize devices in pm8001_alloc_dev() scsi: pm8001: Use module param to set pcs event log severity scsi: ufs: ufs-mediatek: Configure individual LU queue flags scsi: MAINTAINERS: Update UFS Exynos entry scsi: lpfc: Copyright updates for 14.4.0.6 patches ...
2 parents 222974c + 8e3b634 commit 0637a68

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1407
-1852
lines changed

Documentation/devicetree/bindings/ufs/qcom,ufs.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ properties:
2626
- qcom,msm8994-ufshc
2727
- qcom,msm8996-ufshc
2828
- qcom,msm8998-ufshc
29+
- qcom,qcs8300-ufshc
2930
- qcom,sa8775p-ufshc
3031
- qcom,sc7180-ufshc
3132
- qcom,sc7280-ufshc
@@ -146,6 +147,7 @@ allOf:
146147
contains:
147148
enum:
148149
- qcom,msm8998-ufshc
150+
- qcom,qcs8300-ufshc
149151
- qcom,sa8775p-ufshc
150152
- qcom,sc7280-ufshc
151153
- qcom,sc8180x-ufshc

MAINTAINERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23993,7 +23993,9 @@ F: drivers/ufs/host/*dwc*
2399323993

2399423994
UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER EXYNOS HOOKS
2399523995
M: Alim Akhtar <[email protected]>
23996+
R: Peter Griffin <[email protected]>
2399623997
23998+
2399723999
S: Maintained
2399824000
F: drivers/ufs/host/ufs-exynos*
2399924001

drivers/message/fusion/mptlan.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,7 @@
5151
#define LINUX_MPTLAN_H_INCLUDED
5252
/*****************************************************************************/
5353

54-
#if !defined(__GENKSYMS__)
5554
#include <linux/module.h>
56-
#endif
57-
5855
#include <linux/netdevice.h>
5956
#include <linux/errno.h>
6057
// #include <linux/etherdevice.h>

drivers/message/fusion/mptsas.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4231,10 +4231,8 @@ mptsas_find_phyinfo_by_phys_disk_num(MPT_ADAPTER *ioc, u8 phys_disk_num,
42314231
static void
42324232
mptsas_reprobe_lun(struct scsi_device *sdev, void *data)
42334233
{
4234-
int rc;
4235-
42364234
sdev->no_uld_attach = data ? 1 : 0;
4237-
rc = scsi_device_reprobe(sdev);
4235+
WARN_ON(scsi_device_reprobe(sdev));
42384236
}
42394237

42404238
static void

drivers/scsi/a3000.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,9 @@ static void __exit amiga_a3000_scsi_remove(struct platform_device *pdev)
302302
* triggering a section mismatch warning.
303303
*/
304304
static struct platform_driver amiga_a3000_scsi_driver __refdata = {
305-
.remove_new = __exit_p(amiga_a3000_scsi_remove),
306-
.driver = {
307-
.name = "amiga-a3000-scsi",
305+
.remove = __exit_p(amiga_a3000_scsi_remove),
306+
.driver = {
307+
.name = "amiga-a3000-scsi",
308308
},
309309
};
310310

drivers/scsi/a4000t.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,9 @@ static void __exit amiga_a4000t_scsi_remove(struct platform_device *pdev)
115115
* triggering a section mismatch warning.
116116
*/
117117
static struct platform_driver amiga_a4000t_scsi_driver __refdata = {
118-
.remove_new = __exit_p(amiga_a4000t_scsi_remove),
119-
.driver = {
120-
.name = "amiga-a4000t-scsi",
118+
.remove = __exit_p(amiga_a4000t_scsi_remove),
119+
.driver = {
120+
.name = "amiga-a4000t-scsi",
121121
},
122122
};
123123

drivers/scsi/aacraid/aacraid.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2736,7 +2736,6 @@ unsigned int aac_intr_normal(struct aac_dev *dev, u32 Index,
27362736
int isAif, int isFastResponse,
27372737
struct hw_fib *aif_fib);
27382738
int aac_reset_adapter(struct aac_dev *dev, int forced, u8 reset_type);
2739-
int aac_check_health(struct aac_dev * dev);
27402739
int aac_command_thread(void *data);
27412740
int aac_close_fib_context(struct aac_dev * dev, struct aac_fib_context *fibctx);
27422741
int aac_fib_adapter_complete(struct fib * fibptr, unsigned short size);

drivers/scsi/aacraid/commsup.c

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -1698,127 +1698,6 @@ int aac_reset_adapter(struct aac_dev *aac, int forced, u8 reset_type)
16981698
return retval;
16991699
}
17001700

1701-
int aac_check_health(struct aac_dev * aac)
1702-
{
1703-
int BlinkLED;
1704-
unsigned long time_now, flagv = 0;
1705-
struct list_head * entry;
1706-
1707-
/* Extending the scope of fib_lock slightly to protect aac->in_reset */
1708-
if (spin_trylock_irqsave(&aac->fib_lock, flagv) == 0)
1709-
return 0;
1710-
1711-
if (aac->in_reset || !(BlinkLED = aac_adapter_check_health(aac))) {
1712-
spin_unlock_irqrestore(&aac->fib_lock, flagv);
1713-
return 0; /* OK */
1714-
}
1715-
1716-
aac->in_reset = 1;
1717-
1718-
/* Fake up an AIF:
1719-
* aac_aifcmd.command = AifCmdEventNotify = 1
1720-
* aac_aifcmd.seqnum = 0xFFFFFFFF
1721-
* aac_aifcmd.data[0] = AifEnExpEvent = 23
1722-
* aac_aifcmd.data[1] = AifExeFirmwarePanic = 3
1723-
* aac.aifcmd.data[2] = AifHighPriority = 3
1724-
* aac.aifcmd.data[3] = BlinkLED
1725-
*/
1726-
1727-
time_now = jiffies/HZ;
1728-
entry = aac->fib_list.next;
1729-
1730-
/*
1731-
* For each Context that is on the
1732-
* fibctxList, make a copy of the
1733-
* fib, and then set the event to wake up the
1734-
* thread that is waiting for it.
1735-
*/
1736-
while (entry != &aac->fib_list) {
1737-
/*
1738-
* Extract the fibctx
1739-
*/
1740-
struct aac_fib_context *fibctx = list_entry(entry, struct aac_fib_context, next);
1741-
struct hw_fib * hw_fib;
1742-
struct fib * fib;
1743-
/*
1744-
* Check if the queue is getting
1745-
* backlogged
1746-
*/
1747-
if (fibctx->count > 20) {
1748-
/*
1749-
* It's *not* jiffies folks,
1750-
* but jiffies / HZ, so do not
1751-
* panic ...
1752-
*/
1753-
u32 time_last = fibctx->jiffies;
1754-
/*
1755-
* Has it been > 2 minutes
1756-
* since the last read off
1757-
* the queue?
1758-
*/
1759-
if ((time_now - time_last) > aif_timeout) {
1760-
entry = entry->next;
1761-
aac_close_fib_context(aac, fibctx);
1762-
continue;
1763-
}
1764-
}
1765-
/*
1766-
* Warning: no sleep allowed while
1767-
* holding spinlock
1768-
*/
1769-
hw_fib = kzalloc(sizeof(struct hw_fib), GFP_ATOMIC);
1770-
fib = kzalloc(sizeof(struct fib), GFP_ATOMIC);
1771-
if (fib && hw_fib) {
1772-
struct aac_aifcmd * aif;
1773-
1774-
fib->hw_fib_va = hw_fib;
1775-
fib->dev = aac;
1776-
aac_fib_init(fib);
1777-
fib->type = FSAFS_NTC_FIB_CONTEXT;
1778-
fib->size = sizeof (struct fib);
1779-
fib->data = hw_fib->data;
1780-
aif = (struct aac_aifcmd *)hw_fib->data;
1781-
aif->command = cpu_to_le32(AifCmdEventNotify);
1782-
aif->seqnum = cpu_to_le32(0xFFFFFFFF);
1783-
((__le32 *)aif->data)[0] = cpu_to_le32(AifEnExpEvent);
1784-
((__le32 *)aif->data)[1] = cpu_to_le32(AifExeFirmwarePanic);
1785-
((__le32 *)aif->data)[2] = cpu_to_le32(AifHighPriority);
1786-
((__le32 *)aif->data)[3] = cpu_to_le32(BlinkLED);
1787-
1788-
/*
1789-
* Put the FIB onto the
1790-
* fibctx's fibs
1791-
*/
1792-
list_add_tail(&fib->fiblink, &fibctx->fib_list);
1793-
fibctx->count++;
1794-
/*
1795-
* Set the event to wake up the
1796-
* thread that will waiting.
1797-
*/
1798-
complete(&fibctx->completion);
1799-
} else {
1800-
printk(KERN_WARNING "aifd: didn't allocate NewFib.\n");
1801-
kfree(fib);
1802-
kfree(hw_fib);
1803-
}
1804-
entry = entry->next;
1805-
}
1806-
1807-
spin_unlock_irqrestore(&aac->fib_lock, flagv);
1808-
1809-
if (BlinkLED < 0) {
1810-
printk(KERN_ERR "%s: Host adapter is dead (or got a PCI error) %d\n",
1811-
aac->name, BlinkLED);
1812-
goto out;
1813-
}
1814-
1815-
printk(KERN_ERR "%s: Host adapter BLINK LED 0x%x\n", aac->name, BlinkLED);
1816-
1817-
out:
1818-
aac->in_reset = 0;
1819-
return BlinkLED;
1820-
}
1821-
18221701
static inline int is_safw_raid_volume(struct aac_dev *aac, int bus, int target)
18231702
{
18241703
return bus == CONTAINER_CHANNEL && target < aac->maximum_num_containers;

drivers/scsi/aic7xxx/aic7770.c

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -99,21 +99,6 @@ struct aic7770_identity aic7770_ident_table[] =
9999
ahc_aic7770_EISA_setup
100100
}
101101
};
102-
const int ahc_num_aic7770_devs = ARRAY_SIZE(aic7770_ident_table);
103-
104-
struct aic7770_identity *
105-
aic7770_find_device(uint32_t id)
106-
{
107-
struct aic7770_identity *entry;
108-
int i;
109-
110-
for (i = 0; i < ahc_num_aic7770_devs; i++) {
111-
entry = &aic7770_ident_table[i];
112-
if (entry->full_id == (id & entry->id_mask))
113-
return (entry);
114-
}
115-
return (NULL);
116-
}
117102

118103
int
119104
aic7770_config(struct ahc_softc *ahc, struct aic7770_identity *entry, u_int io)

drivers/scsi/aic7xxx/aic7xxx.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,7 +1119,6 @@ struct aic7770_identity {
11191119
ahc_device_setup_t *setup;
11201120
};
11211121
extern struct aic7770_identity aic7770_ident_table[];
1122-
extern const int ahc_num_aic7770_devs;
11231122

11241123
#define AHC_EISA_SLOT_OFFSET 0xc00
11251124
#define AHC_EISA_IOSIZE 0x100
@@ -1135,7 +1134,6 @@ int ahc_pci_test_register_access(struct ahc_softc *);
11351134
void __maybe_unused ahc_pci_resume(struct ahc_softc *ahc);
11361135

11371136
/*************************** EISA/VL Front End ********************************/
1138-
struct aic7770_identity *aic7770_find_device(uint32_t);
11391137
int aic7770_config(struct ahc_softc *ahc,
11401138
struct aic7770_identity *,
11411139
u_int port);

drivers/scsi/atari_scsi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -885,7 +885,7 @@ static void __exit atari_scsi_remove(struct platform_device *pdev)
885885
* triggering a section mismatch warning.
886886
*/
887887
static struct platform_driver atari_scsi_driver __refdata = {
888-
.remove_new = __exit_p(atari_scsi_remove),
888+
.remove = __exit_p(atari_scsi_remove),
889889
.driver = {
890890
.name = DRV_MODULE_NAME,
891891
},

drivers/scsi/bfa/bfa.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,6 @@ bfa_reqq_winit(struct bfa_reqq_wait_s *wqe, void (*qresume) (void *cbarg),
138138
} while (0)
139139

140140

141-
/*
142-
* PCI devices supported by the current BFA
143-
*/
144-
struct bfa_pciid_s {
145-
u16 device_id;
146-
u16 vendor_id;
147-
};
148-
149141
extern char bfa_version[];
150142

151143
struct bfa_iocfc_regs_s {
@@ -408,9 +400,7 @@ int bfa_iocfc_get_pbc_vports(struct bfa_s *bfa,
408400
(((&(_bfa)->modules.dconf_mod)->min_cfg) \
409401
? BFA_LUNMASK_MINCFG : ((bfa_get_lun_mask(_bfa))->status))
410402

411-
void bfa_get_pciids(struct bfa_pciid_s **pciids, int *npciids);
412403
void bfa_cfg_get_default(struct bfa_iocfc_cfg_s *cfg);
413-
void bfa_cfg_get_min(struct bfa_iocfc_cfg_s *cfg);
414404
void bfa_cfg_get_meminfo(struct bfa_iocfc_cfg_s *cfg,
415405
struct bfa_meminfo_s *meminfo,
416406
struct bfa_s *bfa);

drivers/scsi/bfa/bfa_core.c

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1933,24 +1933,6 @@ bfa_comp_free(struct bfa_s *bfa, struct list_head *comp_q)
19331933
}
19341934
}
19351935

1936-
/*
1937-
* Return the list of PCI vendor/device id lists supported by this
1938-
* BFA instance.
1939-
*/
1940-
void
1941-
bfa_get_pciids(struct bfa_pciid_s **pciids, int *npciids)
1942-
{
1943-
static struct bfa_pciid_s __pciids[] = {
1944-
{BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_FC_8G2P},
1945-
{BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_FC_8G1P},
1946-
{BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_CT},
1947-
{BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_CT_FC},
1948-
};
1949-
1950-
*npciids = ARRAY_SIZE(__pciids);
1951-
*pciids = __pciids;
1952-
}
1953-
19541936
/*
19551937
* Use this function query the default struct bfa_iocfc_cfg_s value (compiled
19561938
* into BFA layer). The OS driver can then turn back and overwrite entries that
@@ -1987,20 +1969,3 @@ bfa_cfg_get_default(struct bfa_iocfc_cfg_s *cfg)
19871969
cfg->drvcfg.delay_comp = BFA_FALSE;
19881970

19891971
}
1990-
1991-
void
1992-
bfa_cfg_get_min(struct bfa_iocfc_cfg_s *cfg)
1993-
{
1994-
bfa_cfg_get_default(cfg);
1995-
cfg->fwcfg.num_ioim_reqs = BFA_IOIM_MIN;
1996-
cfg->fwcfg.num_tskim_reqs = BFA_TSKIM_MIN;
1997-
cfg->fwcfg.num_fcxp_reqs = BFA_FCXP_MIN;
1998-
cfg->fwcfg.num_uf_bufs = BFA_UF_MIN;
1999-
cfg->fwcfg.num_rports = BFA_RPORT_MIN;
2000-
cfg->fwcfg.num_fwtio_reqs = 0;
2001-
2002-
cfg->drvcfg.num_sgpgs = BFA_SGPG_MIN;
2003-
cfg->drvcfg.num_reqq_elems = BFA_REQQ_NELEMS_MIN;
2004-
cfg->drvcfg.num_rspq_elems = BFA_RSPQ_NELEMS_MIN;
2005-
cfg->drvcfg.min_cfg = BFA_TRUE;
2006-
}

drivers/scsi/bfa/bfa_defs_fcs.h

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -124,28 +124,6 @@ enum bfa_lport_offline_reason {
124124
BFA_LPORT_OFFLINE_FAB_LOGOUT,
125125
};
126126

127-
/*
128-
* FCS lport info.
129-
*/
130-
struct bfa_lport_info_s {
131-
u8 port_type; /* bfa_lport_type_t : physical or
132-
* virtual */
133-
u8 port_state; /* one of bfa_lport_state values */
134-
u8 offline_reason; /* one of bfa_lport_offline_reason_t
135-
* values */
136-
wwn_t port_wwn;
137-
wwn_t node_wwn;
138-
139-
/*
140-
* following 4 feilds are valid for Physical Ports only
141-
*/
142-
u32 max_vports_supp; /* Max supported vports */
143-
u32 num_vports_inuse; /* Num of in use vports */
144-
u32 max_rports_supp; /* Max supported rports */
145-
u32 num_rports_inuse; /* Num of doscovered rports */
146-
147-
};
148-
149127
/*
150128
* FCS port statistics
151129
*/

drivers/scsi/bfa/bfa_fcpim.c

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3412,15 +3412,6 @@ bfa_tskim_iocdisable_ios(struct bfa_tskim_s *tskim)
34123412
}
34133413
}
34143414

3415-
/*
3416-
* Notification on completions from related ioim.
3417-
*/
3418-
void
3419-
bfa_tskim_iodone(struct bfa_tskim_s *tskim)
3420-
{
3421-
bfa_wc_down(&tskim->wc);
3422-
}
3423-
34243415
/*
34253416
* Handle IOC h/w failure notification from itnim.
34263417
*/

drivers/scsi/bfa/bfa_fcpim.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,6 @@ void bfa_ioim_tov(struct bfa_ioim_s *ioim);
339339

340340
void bfa_tskim_attach(struct bfa_fcpim_s *fcpim);
341341
void bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg);
342-
void bfa_tskim_iodone(struct bfa_tskim_s *tskim);
343342
void bfa_tskim_iocdisable(struct bfa_tskim_s *tskim);
344343
void bfa_tskim_cleanup(struct bfa_tskim_s *tskim);
345344
void bfa_tskim_res_recfg(struct bfa_s *bfa, u16 num_tskim_fw);

0 commit comments

Comments
 (0)