Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync up with Linus #75

Merged
merged 78 commits into from
Jun 17, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
cee34d8
lockdep: Fix a race between /proc/lock_stat and module unload
Jun 2, 2015
8cf1a3d
perf/x86/intel/uncore: Fix CBOX bit wide and UBOX reg on Haswell-EP
kliang2 May 26, 2015
febe069
irqchip: sunxi-nmi: Fix off-by-one error in irq iterator
AxelLin Jun 7, 2015
3b7e5c7
ALSA: usb-audio: add native DSD support for JLsounds I2SoverUSB
lintweaker Jun 5, 2015
8ce7da4
drm/i915: Properly initialize SDVO analog connectors
Jun 8, 2015
4c374fc
dmaengine: at_xdmac: lock fixes
ldesroches Jun 8, 2015
765c37d
dmaengine: at_xdmac: rework slave configuration part
ldesroches Jun 8, 2015
2f4eb6a
ntb: iounmap MW reg and vbase in error path
jonmason Apr 5, 2015
132bd96
ALSA: hda - fix number of devices query on hotplug
airlied Jun 9, 2015
3f5f155
drm/i915: Fix DDC probe for passive adapters
jnikula Jun 2, 2015
d7b6314
MIPS: pgtable-bits: Fix XPA damage to R6 definitions.
May 29, 2015
15c1247
Revert "perf/x86/intel/uncore: Move uncore_box_init() out of driver i…
Jun 9, 2015
bd00c60
iommu/vt-d: Change PASID support to bit 40 of Extended Capability Reg…
Jun 9, 2015
36f6ea2
SSB: Fix handling of ssb_pmu_get_alp_clock()
hauke Jun 6, 2015
9c5a18a
cfg80211: wext: clear sinfo struct before calling driver
jmberg-intel Jun 9, 2015
c3b4afc
blk-mq: free hctx->ctxs in queue's release handler
ming1 Jun 4, 2015
98a226e
ALSA: hda - Don't actually write registers for caps overwrites
tiwai Jun 10, 2015
34b1252
MIPS: Cobalt: Do not build MTD platform device registration code as m…
ralfbaechle Jun 10, 2015
d9fb566
MIPS: Loongson: Do not register 8250 platform device from module.
ralfbaechle Jun 9, 2015
9cc719a
MIPS: MSA: bugfix - disable MSA correctly for new threads/processes.
ralfbaechle May 22, 2015
5eea900
blackfin: Fix build error
groeck May 1, 2015
80524e9
score: Fix exception handler label
groeck Apr 15, 2015
1b0ccfe
Revert "ipv6: Fix protocol resubmission"
davem330 Jun 10, 2015
85bd839
mm/memory_hotplug.c: set zone->wait_table to null after freeing it
Jun 10, 2015
7d63809
memcg: do not call reclaim if !__GFP_WAIT
Jun 10, 2015
d7ad41a
zram: clear disk io accounting when reset zram device
Jun 10, 2015
5129e87
checkpatch: fix "GLOBAL_INITIALISERS" test
JoePerches Jun 10, 2015
f371763
mm: memcontrol: fix false-positive VM_BUG_ON() on -rt
hnaz Jun 10, 2015
02f7b41
zsmalloc: fix a null pointer dereference in destroy_handle_cache()
sergey-senozhatsky Jun 10, 2015
8e76d4e
sched, numa: do not hint for NUMA balancing on VM_MIXEDMAP mappings
Jun 10, 2015
5ec45a1
arch/x86/kvm/mmu.c: work around gcc-4.4.4 bug
akpm00 Jun 10, 2015
f527856
Merge branch 'akpm' (patches from Andrew)
torvalds Jun 10, 2015
2bfc60d
Merge tag 'misc-for-linus-4.1-rc8' of git://git.kernel.org/pub/scm/li…
torvalds Jun 11, 2015
bf06848
ALSA: hda - Continue probing even if i915 binding fails
tiwai Jun 10, 2015
b3be5e3
tipc: disconnect socket directly after probe failure
Jun 9, 2015
1a040ea
bridge: fix multicast router rlist endless loop
NikAleksandrov Jun 9, 2015
5d75361
net, swap: Remove a warning and clarify why sk_mem_reclaim is require…
Jun 11, 2015
6286e82
enic: unlock napi busy poll before unmasking intr
Jun 11, 2015
19b596b
enic: check return value for stat dump
Jun 11, 2015
8b13b4e
enic: fix memory leak in rq_clean
Jun 11, 2015
a686ec4
ALSA: hda - Re-add the lost fake mute support
tiwai Jun 11, 2015
ebaad13
ntb: initialize max_mw for Atom before using it
danielverkamp May 13, 2015
1080293
ring-buffer-benchmark: Fix the wrong sched_priority of producer
datawolf Jun 10, 2015
6dfd197
drm/radeon: fix freeze for laptop with Turks/Thames GPU.
Jun 5, 2015
6fb3c02
Revert "drm/radeon: don't share plls if monitors differ in audio supp…
alexdeucher Jun 10, 2015
ebb9bf1
Revert "drm/radeon: adjust pll when audio is not enabled"
alexdeucher Jun 10, 2015
ee18e59
drm/radeon: Make sure radeon_vm_bo_set_addr always unreserves the BO
Jun 11, 2015
4d66e5e
block: fix ext_dev_lock lockdep report
djbw Jun 11, 2015
cff100f
Merge tag 'trace-rb-bm-fix-4.1-rc7' of git://git.kernel.org/pub/scm/l…
torvalds Jun 11, 2015
b6f2098
block: pmem: Add dependency on HAS_IOMEM
richardweinberger May 4, 2015
58c98be
net: igb: fix the start time for periodic output signals
richardcochran Jun 11, 2015
0fae3bf
mpls: handle device renames for per-device sysctls
rshearman Jun 11, 2015
950c370
Merge branch 'drm-fixes-4.1' of git://people.freedesktop.org/~agd5f/l…
airlied Jun 12, 2015
6e2eb00
Merge tag 'drm-intel-fixes-2015-06-11' of git://anongit.freedesktop.o…
airlied Jun 12, 2015
fb05e7a
net: don't wait for order-3 page allocation
shligit Jun 11, 2015
df5f415
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
torvalds Jun 12, 2015
535115b
ALSA: hda - Abort the probe without i915 binding for HSW/BDW
tiwai Jun 12, 2015
88d0464
dmaengine: Fix choppy sound because of unimplemented resume
krzk Jun 10, 2015
c008f1d
md: don't return 0 from array_state_store
neilbrown Jun 12, 2015
8e8e251
md: Close race when setting 'action' to 'idle'.
neilbrown Jun 12, 2015
ea358cd
md: make sure MD_RECOVERY_DONE is clear before starting recovery/resync
neilbrown Jun 12, 2015
c83b2f2
iommu/vt-d: Only enable extended context tables if PASID is supported
Jun 12, 2015
c39f3bc
Merge git://git.infradead.org/intel-iommu
torvalds Jun 12, 2015
7b565d9
Merge tag 'md/4.1-rc7-fixes' of git://neil.brown.name/md
torvalds Jun 12, 2015
b85dfd3
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
torvalds Jun 12, 2015
ae36806
sctp: allow authenticating DATA chunks that are bundled with COOKIE_ECHO
marceloleitner Jun 11, 2015
b07d496
Doc: networking: Fix URL for wiki.wireshark.org in udplite.txt
standby24x7 Jun 12, 2015
c8d17b4
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
torvalds Jun 13, 2015
1b3ed36
IRQCHIP: mips-gic: Don't nest calls to do_IRQ()
vwax Jun 12, 2015
36f5811
MPI: MIPS: Fix compilation error with GCC 5.1
jaedon Jun 12, 2015
2fbbada
Merge tag 'sound-4.1-rc8' of git://git.kernel.org/pub/scm/linux/kerne…
torvalds Jun 14, 2015
d37479a
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…
torvalds Jun 15, 2015
5bd2c28
Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/s…
torvalds Jun 15, 2015
baaae19
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/l…
torvalds Jun 15, 2015
1f1e34f
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upst…
torvalds Jun 15, 2015
dc75117
Merge tag 'ntb-4.1' of git://github.com/jonmason/ntb
torvalds Jun 15, 2015
b86a756
Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
torvalds Jun 15, 2015
0f57d86
Linux 4.1-rc8
torvalds Jun 15, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1481,6 +1481,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
By default, super page will be supported if Intel IOMMU
has the capability. With this option, super page will
not be supported.
ecs_off [Default Off]
By default, extended context tables will be supported if
the hardware advertises that it has support both for the
extended tables themselves, and also PASID support. With
this option set, extended tables will not be used even
on hardware which claims to support them.

intel_idle.max_cstate= [KNL,HW,ACPI,X86]
0 disables intel_idle and fall back on acpi_idle.
Expand Down
2 changes: 1 addition & 1 deletion Documentation/networking/udplite.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
files/UDP-Lite-HOWTO.txt

o The Wireshark UDP-Lite WiKi (with capture files):
http://wiki.wireshark.org/Lightweight_User_Datagram_Protocol
https://wiki.wireshark.org/Lightweight_User_Datagram_Protocol

o The Protocol Spec, RFC 3828, http://www.ietf.org/rfc/rfc3828.txt

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 4
PATCHLEVEL = 1
SUBLEVEL = 0
EXTRAVERSION = -rc7
EXTRAVERSION = -rc8
NAME = Hurr durr I'ma sheep

# *DOCUMENTATION*
Expand Down
1 change: 1 addition & 0 deletions arch/blackfin/include/asm/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include <linux/compiler.h>
#include <linux/types.h>
#include <asm/byteorder.h>
#include <asm/def_LPBlackfin.h>

#define __raw_readb bfin_read8
#define __raw_readw bfin_read16
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/cobalt/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
# Makefile for the Cobalt micro systems family specific parts of the kernel
#

obj-y := buttons.o irq.o lcd.o led.o reset.o rtc.o serial.o setup.o time.o
obj-y := buttons.o irq.o lcd.o led.o mtd.o reset.o rtc.o serial.o setup.o time.o

obj-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_MTD_PHYSMAP) += mtd.o
14 changes: 7 additions & 7 deletions arch/mips/include/asm/pgtable-bits.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
#define _PAGE_PRESENT_SHIFT 0
#define _PAGE_PRESENT (1 << _PAGE_PRESENT_SHIFT)
/* R2 or later cores check for RI/XI support to determine _PAGE_READ */
#ifdef CONFIG_CPU_MIPSR2
#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)
#define _PAGE_WRITE_SHIFT (_PAGE_PRESENT_SHIFT + 1)
#define _PAGE_WRITE (1 << _PAGE_WRITE_SHIFT)
#else
Expand All @@ -135,16 +135,16 @@
#define _PAGE_SPLITTING (1 << _PAGE_SPLITTING_SHIFT)

/* Only R2 or newer cores have the XI bit */
#ifdef CONFIG_CPU_MIPSR2
#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)
#define _PAGE_NO_EXEC_SHIFT (_PAGE_SPLITTING_SHIFT + 1)
#else
#define _PAGE_GLOBAL_SHIFT (_PAGE_SPLITTING_SHIFT + 1)
#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
#endif /* CONFIG_CPU_MIPSR2 */
#endif /* CONFIG_CPU_MIPSR2 || CONFIG_CPU_MIPSR6 */

#endif /* CONFIG_64BIT && CONFIG_MIPS_HUGE_TLB_SUPPORT */

#ifdef CONFIG_CPU_MIPSR2
#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)
/* XI - page cannot be executed */
#ifndef _PAGE_NO_EXEC_SHIFT
#define _PAGE_NO_EXEC_SHIFT (_PAGE_MODIFIED_SHIFT + 1)
Expand All @@ -160,10 +160,10 @@
#define _PAGE_GLOBAL_SHIFT (_PAGE_NO_READ_SHIFT + 1)
#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)

#else /* !CONFIG_CPU_MIPSR2 */
#else /* !CONFIG_CPU_MIPSR2 && !CONFIG_CPU_MIPSR6 */
#define _PAGE_GLOBAL_SHIFT (_PAGE_MODIFIED_SHIFT + 1)
#define _PAGE_GLOBAL (1 << _PAGE_GLOBAL_SHIFT)
#endif /* CONFIG_CPU_MIPSR2 */
#endif /* CONFIG_CPU_MIPSR2 || CONFIG_CPU_MIPSR6 */

#define _PAGE_VALID_SHIFT (_PAGE_GLOBAL_SHIFT + 1)
#define _PAGE_VALID (1 << _PAGE_VALID_SHIFT)
Expand Down Expand Up @@ -205,7 +205,7 @@
*/
static inline uint64_t pte_to_entrylo(unsigned long pte_val)
{
#ifdef CONFIG_CPU_MIPSR2
#if defined(CONFIG_CPU_MIPSR2) || defined(CONFIG_CPU_MIPSR6)
if (cpu_has_rixi) {
int sa;
#ifdef CONFIG_32BIT
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/include/asm/switch_to.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,6 @@ do { \
if (test_and_clear_tsk_thread_flag(prev, TIF_USEDMSA)) \
__fpsave = FP_SAVE_VECTOR; \
(last) = resume(prev, next, task_thread_info(next), __fpsave); \
disable_msa(); \
} while (0)

#define finish_arch_switch(prev) \
Expand All @@ -122,6 +121,7 @@ do { \
if (cpu_has_userlocal) \
write_c0_userlocal(current_thread_info()->tp_value); \
__restore_watch(); \
disable_msa(); \
} while (0)

#endif /* _ASM_SWITCH_TO_H */
4 changes: 1 addition & 3 deletions arch/mips/loongson/common/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@
#

obj-y += setup.o init.o cmdline.o env.o time.o reset.o irq.o \
bonito-irq.o mem.o machtype.o platform.o
bonito-irq.o mem.o machtype.o platform.o serial.o
obj-$(CONFIG_PCI) += pci.o

#
# Serial port support
#
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
loongson-serial-$(CONFIG_SERIAL_8250) := serial.o
obj-y += $(loongson-serial-m) $(loongson-serial-y)
obj-$(CONFIG_LOONGSON_UART_BASE) += uart_base.o
obj-$(CONFIG_LOONGSON_MC146818) += rtc.o

Expand Down
2 changes: 1 addition & 1 deletion arch/score/lib/string.S
Original file line number Diff line number Diff line change
Expand Up @@ -175,10 +175,10 @@ ENTRY(__clear_user)
br r3

.section .fixup, "ax"
99:
br r3
.previous
.section __ex_table, "a"
.align 2
99:
.word 0b, 99b
.previous
9 changes: 7 additions & 2 deletions arch/x86/kernel/cpu/perf_event_intel_uncore.c
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@ static int uncore_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id
box->phys_id = phys_id;
box->pci_dev = pdev;
box->pmu = pmu;
uncore_box_init(box);
pci_set_drvdata(pdev, box);

raw_spin_lock(&uncore_box_lock);
Expand Down Expand Up @@ -1002,8 +1003,10 @@ static int uncore_cpu_starting(int cpu)
pmu = &type->pmus[j];
box = *per_cpu_ptr(pmu->box, cpu);
/* called by uncore_cpu_init? */
if (box && box->phys_id >= 0)
if (box && box->phys_id >= 0) {
uncore_box_init(box);
continue;
}

for_each_online_cpu(k) {
exist = *per_cpu_ptr(pmu->box, k);
Expand All @@ -1019,8 +1022,10 @@ static int uncore_cpu_starting(int cpu)
}
}

if (box)
if (box) {
box->phys_id = phys_id;
uncore_box_init(box);
}
}
}
return 0;
Expand Down
18 changes: 8 additions & 10 deletions arch/x86/kernel/cpu/perf_event_intel_uncore.h
Original file line number Diff line number Diff line change
Expand Up @@ -258,14 +258,6 @@ static inline int uncore_num_counters(struct intel_uncore_box *box)
return box->pmu->type->num_counters;
}

static inline void uncore_box_init(struct intel_uncore_box *box)
{
if (!test_and_set_bit(UNCORE_BOX_FLAG_INITIATED, &box->flags)) {
if (box->pmu->type->ops->init_box)
box->pmu->type->ops->init_box(box);
}
}

static inline void uncore_disable_box(struct intel_uncore_box *box)
{
if (box->pmu->type->ops->disable_box)
Expand All @@ -274,8 +266,6 @@ static inline void uncore_disable_box(struct intel_uncore_box *box)

static inline void uncore_enable_box(struct intel_uncore_box *box)
{
uncore_box_init(box);

if (box->pmu->type->ops->enable_box)
box->pmu->type->ops->enable_box(box);
}
Expand All @@ -298,6 +288,14 @@ static inline u64 uncore_read_counter(struct intel_uncore_box *box,
return box->pmu->type->ops->read_counter(box, event);
}

static inline void uncore_box_init(struct intel_uncore_box *box)
{
if (!test_and_set_bit(UNCORE_BOX_FLAG_INITIATED, &box->flags)) {
if (box->pmu->type->ops->init_box)
box->pmu->type->ops->init_box(box);
}
}

static inline bool uncore_box_is_fake(struct intel_uncore_box *box)
{
return (box->phys_id < 0);
Expand Down
6 changes: 3 additions & 3 deletions arch/x86/kernel/cpu/perf_event_intel_uncore_snbep.c
Original file line number Diff line number Diff line change
Expand Up @@ -164,8 +164,8 @@
((1ULL << (n)) - 1)))

/* Haswell-EP Ubox */
#define HSWEP_U_MSR_PMON_CTR0 0x705
#define HSWEP_U_MSR_PMON_CTL0 0x709
#define HSWEP_U_MSR_PMON_CTR0 0x709
#define HSWEP_U_MSR_PMON_CTL0 0x705
#define HSWEP_U_MSR_PMON_FILTER 0x707

#define HSWEP_U_MSR_PMON_UCLK_FIXED_CTL 0x703
Expand Down Expand Up @@ -1914,7 +1914,7 @@ static struct intel_uncore_type hswep_uncore_cbox = {
.name = "cbox",
.num_counters = 4,
.num_boxes = 18,
.perf_ctr_bits = 44,
.perf_ctr_bits = 48,
.event_ctl = HSWEP_C0_MSR_PMON_CTL0,
.perf_ctr = HSWEP_C0_MSR_PMON_CTR0,
.event_mask = SNBEP_CBO_MSR_PMON_RAW_EVENT_MASK,
Expand Down
14 changes: 7 additions & 7 deletions arch/x86/kvm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -4215,13 +4215,13 @@ void kvm_mmu_pte_write(struct kvm_vcpu *vcpu, gpa_t gpa,
u64 entry, gentry, *spte;
int npte;
bool remote_flush, local_flush, zap_page;
union kvm_mmu_page_role mask = (union kvm_mmu_page_role) {
.cr0_wp = 1,
.cr4_pae = 1,
.nxe = 1,
.smep_andnot_wp = 1,
.smap_andnot_wp = 1,
};
union kvm_mmu_page_role mask = { };

mask.cr0_wp = 1;
mask.cr4_pae = 1;
mask.nxe = 1;
mask.smep_andnot_wp = 1;
mask.smap_andnot_wp = 1;

/*
* If we don't have indirect shadow pages, it means no page is
Expand Down
8 changes: 6 additions & 2 deletions block/blk-mq.c
Original file line number Diff line number Diff line change
Expand Up @@ -1600,6 +1600,7 @@ static int blk_mq_hctx_notify(void *data, unsigned long action,
return NOTIFY_OK;
}

/* hctx->ctxs will be freed in queue's release handler */
static void blk_mq_exit_hctx(struct request_queue *q,
struct blk_mq_tag_set *set,
struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
Expand All @@ -1618,7 +1619,6 @@ static void blk_mq_exit_hctx(struct request_queue *q,

blk_mq_unregister_cpu_notifier(&hctx->cpu_notifier);
blk_free_flush_queue(hctx->fq);
kfree(hctx->ctxs);
blk_mq_free_bitmap(&hctx->ctx_map);
}

Expand Down Expand Up @@ -1891,8 +1891,12 @@ void blk_mq_release(struct request_queue *q)
unsigned int i;

/* hctx kobj stays in hctx */
queue_for_each_hw_ctx(q, hctx, i)
queue_for_each_hw_ctx(q, hctx, i) {
if (!hctx)
continue;
kfree(hctx->ctxs);
kfree(hctx);
}

kfree(q->queue_hw_ctx);

Expand Down
12 changes: 6 additions & 6 deletions block/genhd.c
Original file line number Diff line number Diff line change
Expand Up @@ -422,9 +422,9 @@ int blk_alloc_devt(struct hd_struct *part, dev_t *devt)
/* allocate ext devt */
idr_preload(GFP_KERNEL);

spin_lock(&ext_devt_lock);
spin_lock_bh(&ext_devt_lock);
idx = idr_alloc(&ext_devt_idr, part, 0, NR_EXT_DEVT, GFP_NOWAIT);
spin_unlock(&ext_devt_lock);
spin_unlock_bh(&ext_devt_lock);

idr_preload_end();
if (idx < 0)
Expand All @@ -449,9 +449,9 @@ void blk_free_devt(dev_t devt)
return;

if (MAJOR(devt) == BLOCK_EXT_MAJOR) {
spin_lock(&ext_devt_lock);
spin_lock_bh(&ext_devt_lock);
idr_remove(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));
spin_unlock(&ext_devt_lock);
spin_unlock_bh(&ext_devt_lock);
}
}

Expand Down Expand Up @@ -690,13 +690,13 @@ struct gendisk *get_gendisk(dev_t devt, int *partno)
} else {
struct hd_struct *part;

spin_lock(&ext_devt_lock);
spin_lock_bh(&ext_devt_lock);
part = idr_find(&ext_devt_idr, blk_mangle_minor(MINOR(devt)));
if (part && get_disk(part_to_disk(part))) {
*partno = part->partno;
disk = part_to_disk(part);
}
spin_unlock(&ext_devt_lock);
spin_unlock_bh(&ext_devt_lock);
}

return disk;
Expand Down
1 change: 1 addition & 0 deletions drivers/block/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,7 @@ config BLK_DEV_RAM_DAX

config BLK_DEV_PMEM
tristate "Persistent memory block device support"
depends on HAS_IOMEM
help
Saying Y here will allow you to use a contiguous range of reserved
memory as one or more persistent block devices.
Expand Down
2 changes: 2 additions & 0 deletions drivers/block/zram/zram_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -805,7 +805,9 @@ static void zram_reset_device(struct zram *zram)
memset(&zram->stats, 0, sizeof(zram->stats));
zram->disksize = 0;
zram->max_comp_streams = 1;

set_capacity(zram->disk, 0);
part_stat_set_all(&zram->disk->part0, 0);

up_write(&zram->init_lock);
/* I/O operation under all of CPU are done so let's free */
Expand Down
Loading