Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 264341
b: refs/heads/master
c: 2b66685
h: refs/heads/master
i:
  264339: 00b6f28
v: v3
  • Loading branch information
Adrian Bunk authored and Ingo Molnar committed Oct 11, 2011
1 parent 6e093a7 commit 7beab5b
Show file tree
Hide file tree
Showing 11 changed files with 42 additions and 64 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 153b19a3b9fd8b9478495b9ee1f93f6a77c564f9
refs/heads/master: 2b666859ec323403ac9a3a441d16eab30945404b
7 changes: 4 additions & 3 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2706,10 +2706,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
functions are at fixed addresses, they make nice
targets for exploits that can control RIP.

emulate [default] Vsyscalls turn into traps and are
emulated reasonably safely.
emulate Vsyscalls turn into traps and are emulated
reasonably safely.

native Vsyscalls are native syscall instructions.
native [default] Vsyscalls are native syscall
instructions.
This is a little bit faster than trapping
and makes a few dynamic recompilers work
better than they would in emulation mode.
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86/kernel/vsyscall_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
.lock = __SEQLOCK_UNLOCKED(__vsyscall_gtod_data.lock),
};

static enum { EMULATE, NATIVE, NONE } vsyscall_mode = EMULATE;
static enum { EMULATE, NATIVE, NONE } vsyscall_mode = NATIVE;

static int __init vsyscall_setup(char *str)
{
Expand Down
22 changes: 10 additions & 12 deletions trunk/arch/x86/platform/mrst/mrst.c
Original file line number Diff line number Diff line change
Expand Up @@ -678,40 +678,38 @@ static int __init sfi_parse_devs(struct sfi_table_header *table)
pentry = (struct sfi_device_table_entry *)sb->pentry;

for (i = 0; i < num; i++, pentry++) {
int irq = pentry->irq;

if (irq != (u8)0xff) { /* native RTE case */
if (pentry->irq != (u8)0xff) { /* native RTE case */
/* these SPI2 devices are not exposed to system as PCI
* devices, but they have separate RTE entry in IOAPIC
* so we have to enable them one by one here
*/
ioapic = mp_find_ioapic(irq);
ioapic = mp_find_ioapic(pentry->irq);
irq_attr.ioapic = ioapic;
irq_attr.ioapic_pin = irq;
irq_attr.ioapic_pin = pentry->irq;
irq_attr.trigger = 1;
irq_attr.polarity = 1;
io_apic_set_pci_routing(NULL, irq, &irq_attr);
io_apic_set_pci_routing(NULL, pentry->irq, &irq_attr);
} else
irq = 0; /* No irq */
pentry->irq = 0; /* No irq */

switch (pentry->type) {
case SFI_DEV_TYPE_IPC:
/* ID as IRQ is a hack that will go away */
pdev = platform_device_alloc(pentry->name, irq);
pdev = platform_device_alloc(pentry->name, pentry->irq);
if (pdev == NULL) {
pr_err("out of memory for SFI platform device '%s'.\n",
pentry->name);
continue;
}
install_irq_resource(pdev, irq);
install_irq_resource(pdev, pentry->irq);
pr_debug("info[%2d]: IPC bus, name = %16.16s, "
"irq = 0x%2x\n", i, pentry->name, irq);
"irq = 0x%2x\n", i, pentry->name, pentry->irq);
sfi_handle_ipc_dev(pdev);
break;
case SFI_DEV_TYPE_SPI:
memset(&spi_info, 0, sizeof(spi_info));
strncpy(spi_info.modalias, pentry->name, SFI_NAME_LEN);
spi_info.irq = irq;
spi_info.irq = pentry->irq;
spi_info.bus_num = pentry->host_num;
spi_info.chip_select = pentry->addr;
spi_info.max_speed_hz = pentry->max_freq;
Expand All @@ -728,7 +726,7 @@ static int __init sfi_parse_devs(struct sfi_table_header *table)
memset(&i2c_info, 0, sizeof(i2c_info));
bus = pentry->host_num;
strncpy(i2c_info.type, pentry->name, SFI_NAME_LEN);
i2c_info.irq = irq;
i2c_info.irq = pentry->irq;
i2c_info.addr = pentry->addr;
pr_debug("info[%2d]: I2C bus = %d, name = %16.16s, "
"irq = 0x%2x, addr = 0x%x\n", i, bus,
Expand Down
24 changes: 12 additions & 12 deletions trunk/drivers/ide/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ config BLK_DEV_OPTI621
select BLK_DEV_IDEPCI
help
This is a driver for the OPTi 82C621 EIDE controller.
Please read the comments at the top of <file:drivers/ide/opti621.c>.
Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.

config BLK_DEV_RZ1000
tristate "RZ1000 chipset bugfix/support"
Expand Down Expand Up @@ -365,7 +365,7 @@ config BLK_DEV_ALI15X3
normal dual channel support.

Please read the comments at the top of
<file:drivers/ide/alim15x3.c>.
<file:drivers/ide/pci/alim15x3.c>.

If unsure, say N.

Expand Down Expand Up @@ -528,7 +528,7 @@ config BLK_DEV_NS87415
This driver adds detection and support for the NS87415 chip
(used mainly on SPARC64 and PA-RISC machines).

Please read the comments at the top of <file:drivers/ide/ns87415.c>.
Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.

config BLK_DEV_PDC202XX_OLD
tristate "PROMISE PDC202{46|62|65|67} support"
Expand All @@ -547,7 +547,7 @@ config BLK_DEV_PDC202XX_OLD
for more than one card.

Please read the comments at the top of
<file:drivers/ide/pdc202xx_old.c>.
<file:drivers/ide/pci/pdc202xx_old.c>.

If unsure, say N.

Expand Down Expand Up @@ -593,7 +593,7 @@ config BLK_DEV_SIS5513
ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
SiS745, SiS750

Please read the comments at the top of <file:drivers/ide/sis5513.c>.
Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.

config BLK_DEV_SL82C105
tristate "Winbond SL82c105 support"
Expand All @@ -616,7 +616,7 @@ config BLK_DEV_SLC90E66
look-a-like to the PIIX4 it should be a nice addition.

Please read the comments at the top of
<file:drivers/ide/slc90e66.c>.
<file:drivers/ide/pci/slc90e66.c>.

config BLK_DEV_TRM290
tristate "Tekram TRM290 chipset support"
Expand All @@ -625,7 +625,7 @@ config BLK_DEV_TRM290
This driver adds support for bus master DMA transfers
using the Tekram TRM290 PCI IDE chip. Volunteers are
needed for further tweaking and development.
Please read the comments at the top of <file:drivers/ide/trm290.c>.
Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.

config BLK_DEV_VIA82CXXX
tristate "VIA82CXXX chipset support"
Expand Down Expand Up @@ -836,7 +836,7 @@ config BLK_DEV_ALI14XX
of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
I/O speeds to be set as well.
See the files <file:Documentation/ide/ide.txt> and
<file:drivers/ide/ali14xx.c> for more info.
<file:drivers/ide/legacy/ali14xx.c> for more info.

config BLK_DEV_DTC2278
tristate "DTC-2278 support"
Expand All @@ -847,7 +847,7 @@ config BLK_DEV_DTC2278
boot parameter. It enables support for the secondary IDE interface
of the DTC-2278 card, and permits faster I/O speeds to be set as
well. See the <file:Documentation/ide/ide.txt> and
<file:drivers/ide/dtc2278.c> files for more info.
<file:drivers/ide/legacy/dtc2278.c> files for more info.

config BLK_DEV_HT6560B
tristate "Holtek HT6560B support"
Expand All @@ -858,7 +858,7 @@ config BLK_DEV_HT6560B
boot parameter. It enables support for the secondary IDE interface
of the Holtek card, and permits faster I/O speeds to be set as well.
See the <file:Documentation/ide/ide.txt> and
<file:drivers/ide/ht6560b.c> files for more info.
<file:drivers/ide/legacy/ht6560b.c> files for more info.

config BLK_DEV_QD65XX
tristate "QDI QD65xx support"
Expand All @@ -867,7 +867,7 @@ config BLK_DEV_QD65XX
help
This driver is enabled at runtime using the "qd65xx.probe" kernel
boot parameter. It permits faster I/O speeds to be set. See the
<file:Documentation/ide/ide.txt> and <file:drivers/ide/qd65xx.c>
<file:Documentation/ide/ide.txt> and <file:drivers/ide/legacy/qd65xx.c>
for more info.

config BLK_DEV_UMC8672
Expand All @@ -879,7 +879,7 @@ config BLK_DEV_UMC8672
boot parameter. It enables support for the secondary IDE interface
of the UMC-8672, and permits faster I/O speeds to be set as well.
See the files <file:Documentation/ide/ide.txt> and
<file:drivers/ide/umc8672.c> for more info.
<file:drivers/ide/legacy/umc8672.c> for more info.

endif

Expand Down
18 changes: 6 additions & 12 deletions trunk/drivers/net/bnx2x/bnx2x.h
Original file line number Diff line number Diff line change
Expand Up @@ -239,19 +239,13 @@ void bnx2x_int_disable(struct bnx2x *bp);
* FUNC_N_CLID_X = N * NUM_SPECIAL_CLIENTS + FUNC_0_CLID_X
*
*/
enum {
BNX2X_ISCSI_ETH_CL_ID_IDX,
BNX2X_FCOE_ETH_CL_ID_IDX,
BNX2X_MAX_CNIC_ETH_CL_ID_IDX,
};
/* iSCSI L2 */
#define BNX2X_ISCSI_ETH_CL_ID_IDX 1
#define BNX2X_ISCSI_ETH_CID 49

#define BNX2X_CNIC_START_ETH_CID 48
enum {
/* iSCSI L2 */
BNX2X_ISCSI_ETH_CID = BNX2X_CNIC_START_ETH_CID,
/* FCoE L2 */
BNX2X_FCOE_ETH_CID,
};
/* FCoE L2 */
#define BNX2X_FCOE_ETH_CL_ID_IDX 2
#define BNX2X_FCOE_ETH_CID 50

/** Additional rings budgeting */
#ifdef BCM_CNIC
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/bnx2x/bnx2x_cmn.h
Original file line number Diff line number Diff line change
Expand Up @@ -1297,7 +1297,7 @@ static inline void bnx2x_init_txdata(struct bnx2x *bp,
static inline u8 bnx2x_cnic_eth_cl_id(struct bnx2x *bp, u8 cl_idx)
{
return bp->cnic_base_cl_id + cl_idx +
(bp->pf_num >> 1) * BNX2X_MAX_CNIC_ETH_CL_ID_IDX;
(bp->pf_num >> 1) * NON_ETH_CONTEXT_USE;
}

static inline u8 bnx2x_cnic_fw_sb_id(struct bnx2x *bp)
Expand Down
11 changes: 3 additions & 8 deletions trunk/drivers/net/can/mscan/mscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -261,13 +261,11 @@ static netdev_tx_t mscan_start_xmit(struct sk_buff *skb, struct net_device *dev)
void __iomem *data = &regs->tx.dsr1_0;
u16 *payload = (u16 *)frame->data;

for (i = 0; i < frame->can_dlc / 2; i++) {
/* It is safe to write into dsr[dlc+1] */
for (i = 0; i < (frame->can_dlc + 1) / 2; i++) {
out_be16(data, *payload++);
data += 2 + _MSCAN_RESERVED_DSR_SIZE;
}
/* write remaining byte if necessary */
if (frame->can_dlc & 1)
out_8(data, frame->data[frame->can_dlc - 1]);
}

out_8(&regs->tx.dlr, frame->can_dlc);
Expand Down Expand Up @@ -332,13 +330,10 @@ static void mscan_get_rx_frame(struct net_device *dev, struct can_frame *frame)
void __iomem *data = &regs->rx.dsr1_0;
u16 *payload = (u16 *)frame->data;

for (i = 0; i < frame->can_dlc / 2; i++) {
for (i = 0; i < (frame->can_dlc + 1) / 2; i++) {
*payload++ = in_be16(data);
data += 2 + _MSCAN_RESERVED_DSR_SIZE;
}
/* read remaining byte if necessary */
if (frame->can_dlc & 1)
frame->data[frame->can_dlc - 1] = in_8(data);
}

out_8(&regs->canrflg, MSCAN_RXF);
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/net/mlx4/en_tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ int mlx4_en_activate_tx_ring(struct mlx4_en_priv *priv,
memset(ring->buf, 0, ring->buf_size);

ring->qp_state = MLX4_QP_STATE_RST;
ring->doorbell_qpn = ring->qp.qpn << 8;
ring->doorbell_qpn = swab32(ring->qp.qpn << 8);

mlx4_en_fill_qp_context(priv, ring->size, ring->stride, 1, 0, ring->qpn,
ring->cqn, &ring->context);
Expand Down Expand Up @@ -791,7 +791,7 @@ netdev_tx_t mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
skb_orphan(skb);

if (ring->bf_enabled && desc_size <= MAX_BF && !bounce && !vlan_tag) {
*(__be32 *) (&tx_desc->ctrl.vlan_tag) |= cpu_to_be32(ring->doorbell_qpn);
*(u32 *) (&tx_desc->ctrl.vlan_tag) |= ring->doorbell_qpn;
op_own |= htonl((bf_index & 0xffff) << 8);
/* Ensure new descirptor hits memory
* before setting ownership of this descriptor to HW */
Expand All @@ -812,7 +812,7 @@ netdev_tx_t mlx4_en_xmit(struct sk_buff *skb, struct net_device *dev)
wmb();
tx_desc->ctrl.owner_opcode = op_own;
wmb();
iowrite32be(ring->doorbell_qpn, ring->bf.uar->map + MLX4_SEND_DOORBELL);
writel(ring->doorbell_qpn, ring->bf.uar->map + MLX4_SEND_DOORBELL);
}

/* Poll CQ here */
Expand Down
11 changes: 1 addition & 10 deletions trunk/fs/btrfs/ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1047,16 +1047,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file,
if (!max_to_defrag)
max_to_defrag = last_index - 1;

/*
* make writeback starts from i, so the defrag range can be
* written sequentially.
*/
if (i < inode->i_mapping->writeback_index)
inode->i_mapping->writeback_index = i;

while (i <= last_index && defrag_count < max_to_defrag &&
(i < (i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
PAGE_CACHE_SHIFT)) {
while (i <= last_index && defrag_count < max_to_defrag) {
/*
* make sure we stop running if someone unmounts
* the FS
Expand Down
1 change: 0 additions & 1 deletion trunk/net/ipv6/af_inet6.c
Original file line number Diff line number Diff line change
Expand Up @@ -875,7 +875,6 @@ static struct sk_buff **ipv6_gro_receive(struct sk_buff **head,
skb_reset_transport_header(skb);
__skb_push(skb, skb_gro_offset(skb));

ops = rcu_dereference(inet6_protos[proto]);
if (!ops || !ops->gro_receive)
goto out_unlock;

Expand Down

0 comments on commit 7beab5b

Please sign in to comment.