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 <alim.akhtar@samsung.com>
23996+
R: Peter Griffin <peter.griffin@linaro.org>
2399623997
L: linux-scsi@vger.kernel.org
23998+
L: linux-samsung-soc@vger.kernel.org
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);

0 commit comments

Comments
 (0)