Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 201041
b: refs/heads/master
c: cffab6b
h: refs/heads/master
i:
  201039: 4fe29ca
v: v3
  • Loading branch information
Peter Oberparleiter authored and Martin Schwidefsky committed Jul 19, 2010
1 parent 7e89ef8 commit 4dafa57
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 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: b4fd4f890bca2291a12bb0807027db40f929a82d
refs/heads/master: cffab6bc5511cd6f67a60bf16b62de4267b68c4c
12 changes: 4 additions & 8 deletions trunk/drivers/platform/x86/intel_scu_ipc.c
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ int intel_scu_ipc_simple_command(int cmd, int sub)
mutex_unlock(&ipclock);
return -ENODEV;
}
ipc_command(sub << 12 | cmd);
ipc_command(cmd << 12 | sub);
err = busy_loop();
mutex_unlock(&ipclock);
return err;
Expand All @@ -501,9 +501,9 @@ EXPORT_SYMBOL(intel_scu_ipc_simple_command);
* @cmd: command
* @sub: sub type
* @in: input data
* @inlen: input length in dwords
* @inlen: input length
* @out: output data
* @outlein: output length in dwords
* @outlein: output length
*
* Issue a command to the SCU which involves data transfers. Do the
* data copies under the lock but leave it for the caller to interpret
Expand All @@ -524,7 +524,7 @@ int intel_scu_ipc_command(int cmd, int sub, u32 *in, int inlen,
for (i = 0; i < inlen; i++)
ipc_data_writel(*in++, 4 * i);

ipc_command((sub << 12) | cmd | (inlen << 18));
ipc_command((cmd << 12) | sub | (inlen << 18));
err = busy_loop();

for (i = 0; i < outlen; i++)
Expand Down Expand Up @@ -556,10 +556,6 @@ int intel_scu_ipc_i2c_cntrl(u32 addr, u32 *data)
u32 cmd = 0;

mutex_lock(&ipclock);
if (ipcdev.pdev == NULL) {
mutex_unlock(&ipclock);
return -ENODEV;
}
cmd = (addr >> 24) & 0xFF;
if (cmd == IPC_I2C_READ) {
writel(addr, ipcdev.i2c_base + IPC_I2C_CNTRL_ADDR);
Expand Down
14 changes: 12 additions & 2 deletions trunk/fs/partitions/ibm.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ int ibm_partition(struct parsed_partitions *state)
} *label;
unsigned char *data;
Sector sect;
sector_t labelsect;

res = 0;
blocksize = bdev_logical_block_size(bdev);
Expand All @@ -97,11 +98,20 @@ int ibm_partition(struct parsed_partitions *state)
ioctl_by_bdev(bdev, HDIO_GETGEO, (unsigned long)geo) != 0)
goto out_freeall;

/*
* Special case for FBA disks: label sector does not depend on
* blocksize.
*/
if ((info->cu_type == 0x6310 && info->dev_type == 0x9336) ||
(info->cu_type == 0x3880 && info->dev_type == 0x3370))
labelsect = info->label_block;
else
labelsect = info->label_block * (blocksize >> 9);

/*
* Get volume label, extract name and type.
*/
data = read_part_sector(state, info->label_block*(blocksize/512),
&sect);
data = read_part_sector(state, labelsect, &sect);
if (data == NULL)
goto out_readerr;

Expand Down

0 comments on commit 4dafa57

Please sign in to comment.