diff options
-rw-r--r-- | arch/x86/pci/acpi.c | 2 | ||||
-rw-r--r-- | drivers/pci/pci.c | 2 | ||||
-rw-r--r-- | drivers/pci/probe.c | 2 | ||||
-rw-r--r-- | drivers/target/loopback/tcm_loop.c | 13 | ||||
-rw-r--r-- | drivers/target/target_core_configfs.c | 24 | ||||
-rw-r--r-- | drivers/target/target_core_device.c | 5 | ||||
-rw-r--r-- | drivers/target/target_core_pr.c | 6 | ||||
-rw-r--r-- | drivers/target/target_core_tmr.c | 8 | ||||
-rw-r--r-- | drivers/target/target_core_transport.c | 6 | ||||
-rw-r--r-- | drivers/target/tcm_fc/tcm_fc.h | 2 | ||||
-rw-r--r-- | drivers/target/tcm_fc/tfc_cmd.c | 64 | ||||
-rw-r--r-- | drivers/target/tcm_fc/tfc_io.c | 2 | ||||
-rw-r--r-- | drivers/target/tcm_fc/tfc_sess.c | 4 | ||||
-rw-r--r-- | drivers/tty/serial/mrst_max3110.c | 5 | ||||
-rw-r--r-- | fs/btrfs/ctree.h | 1 | ||||
-rw-r--r-- | fs/cifs/connect.c | 39 | ||||
-rw-r--r-- | fs/omfs/file.c | 1 | ||||
-rw-r--r-- | init/calibrate.c | 14 |
18 files changed, 112 insertions, 88 deletions
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c index 0972315c3860..68c3c1395202 100644 --- a/arch/x86/pci/acpi.c +++ b/arch/x86/pci/acpi.c | |||
@@ -188,7 +188,7 @@ static bool resource_contains(struct resource *res, resource_size_t point) | |||
188 | return false; | 188 | return false; |
189 | } | 189 | } |
190 | 190 | ||
191 | static void coalesce_windows(struct pci_root_info *info, int type) | 191 | static void coalesce_windows(struct pci_root_info *info, unsigned long type) |
192 | { | 192 | { |
193 | int i, j; | 193 | int i, j; |
194 | struct resource *res1, *res2; | 194 | struct resource *res1, *res2; |
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 5f10c23dff94..2c5b9b991279 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -3284,7 +3284,7 @@ static int pci_set_vga_state_arch(struct pci_dev *dev, bool decode, | |||
3284 | * @dev: the PCI device | 3284 | * @dev: the PCI device |
3285 | * @decode: true = enable decoding, false = disable decoding | 3285 | * @decode: true = enable decoding, false = disable decoding |
3286 | * @command_bits: PCI_COMMAND_IO and/or PCI_COMMAND_MEMORY | 3286 | * @command_bits: PCI_COMMAND_IO and/or PCI_COMMAND_MEMORY |
3287 | * @change_bridge_flags: traverse ancestors and change bridges | 3287 | * @flags: traverse ancestors and change bridges |
3288 | * CHANGE_BRIDGE_ONLY / CHANGE_BRIDGE | 3288 | * CHANGE_BRIDGE_ONLY / CHANGE_BRIDGE |
3289 | */ | 3289 | */ |
3290 | int pci_set_vga_state(struct pci_dev *dev, bool decode, | 3290 | int pci_set_vga_state(struct pci_dev *dev, bool decode, |
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index 48849ffdd672..bafb3c3d4a89 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c | |||
@@ -168,7 +168,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, | |||
168 | res->flags |= pci_calc_resource_flags(l) | IORESOURCE_SIZEALIGN; | 168 | res->flags |= pci_calc_resource_flags(l) | IORESOURCE_SIZEALIGN; |
169 | if (type == pci_bar_io) { | 169 | if (type == pci_bar_io) { |
170 | l &= PCI_BASE_ADDRESS_IO_MASK; | 170 | l &= PCI_BASE_ADDRESS_IO_MASK; |
171 | mask = PCI_BASE_ADDRESS_IO_MASK & IO_SPACE_LIMIT; | 171 | mask = PCI_BASE_ADDRESS_IO_MASK & (u32) IO_SPACE_LIMIT; |
172 | } else { | 172 | } else { |
173 | l &= PCI_BASE_ADDRESS_MEM_MASK; | 173 | l &= PCI_BASE_ADDRESS_MEM_MASK; |
174 | mask = (u32)PCI_BASE_ADDRESS_MEM_MASK; | 174 | mask = (u32)PCI_BASE_ADDRESS_MEM_MASK; |
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c index dee2a2c909f5..70c2e7fa6664 100644 --- a/drivers/target/loopback/tcm_loop.c +++ b/drivers/target/loopback/tcm_loop.c | |||
@@ -386,7 +386,7 @@ static int tcm_loop_device_reset(struct scsi_cmnd *sc) | |||
386 | */ | 386 | */ |
387 | se_cmd->se_tmr_req = core_tmr_alloc_req(se_cmd, (void *)tl_tmr, | 387 | se_cmd->se_tmr_req = core_tmr_alloc_req(se_cmd, (void *)tl_tmr, |
388 | TMR_LUN_RESET); | 388 | TMR_LUN_RESET); |
389 | if (!se_cmd->se_tmr_req) | 389 | if (IS_ERR(se_cmd->se_tmr_req)) |
390 | goto release; | 390 | goto release; |
391 | /* | 391 | /* |
392 | * Locate the underlying TCM struct se_lun from sc->device->lun | 392 | * Locate the underlying TCM struct se_lun from sc->device->lun |
@@ -1017,6 +1017,7 @@ static int tcm_loop_make_nexus( | |||
1017 | struct se_portal_group *se_tpg; | 1017 | struct se_portal_group *se_tpg; |
1018 | struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; | 1018 | struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; |
1019 | struct tcm_loop_nexus *tl_nexus; | 1019 | struct tcm_loop_nexus *tl_nexus; |
1020 | int ret = -ENOMEM; | ||
1020 | 1021 | ||
1021 | if (tl_tpg->tl_hba->tl_nexus) { | 1022 | if (tl_tpg->tl_hba->tl_nexus) { |
1022 | printk(KERN_INFO "tl_tpg->tl_hba->tl_nexus already exists\n"); | 1023 | printk(KERN_INFO "tl_tpg->tl_hba->tl_nexus already exists\n"); |
@@ -1033,8 +1034,10 @@ static int tcm_loop_make_nexus( | |||
1033 | * Initialize the struct se_session pointer | 1034 | * Initialize the struct se_session pointer |
1034 | */ | 1035 | */ |
1035 | tl_nexus->se_sess = transport_init_session(); | 1036 | tl_nexus->se_sess = transport_init_session(); |
1036 | if (!tl_nexus->se_sess) | 1037 | if (IS_ERR(tl_nexus->se_sess)) { |
1038 | ret = PTR_ERR(tl_nexus->se_sess); | ||
1037 | goto out; | 1039 | goto out; |
1040 | } | ||
1038 | /* | 1041 | /* |
1039 | * Since we are running in 'demo mode' this call with generate a | 1042 | * Since we are running in 'demo mode' this call with generate a |
1040 | * struct se_node_acl for the tcm_loop struct se_portal_group with the SCSI | 1043 | * struct se_node_acl for the tcm_loop struct se_portal_group with the SCSI |
@@ -1060,7 +1063,7 @@ static int tcm_loop_make_nexus( | |||
1060 | 1063 | ||
1061 | out: | 1064 | out: |
1062 | kfree(tl_nexus); | 1065 | kfree(tl_nexus); |
1063 | return -ENOMEM; | 1066 | return ret; |
1064 | } | 1067 | } |
1065 | 1068 | ||
1066 | static int tcm_loop_drop_nexus( | 1069 | static int tcm_loop_drop_nexus( |
@@ -1140,7 +1143,7 @@ static ssize_t tcm_loop_tpg_store_nexus( | |||
1140 | * the fabric protocol_id set in tcm_loop_make_scsi_hba(), and call | 1143 | * the fabric protocol_id set in tcm_loop_make_scsi_hba(), and call |
1141 | * tcm_loop_make_nexus() | 1144 | * tcm_loop_make_nexus() |
1142 | */ | 1145 | */ |
1143 | if (strlen(page) > TL_WWN_ADDR_LEN) { | 1146 | if (strlen(page) >= TL_WWN_ADDR_LEN) { |
1144 | printk(KERN_ERR "Emulated NAA Sas Address: %s, exceeds" | 1147 | printk(KERN_ERR "Emulated NAA Sas Address: %s, exceeds" |
1145 | " max: %d\n", page, TL_WWN_ADDR_LEN); | 1148 | " max: %d\n", page, TL_WWN_ADDR_LEN); |
1146 | return -EINVAL; | 1149 | return -EINVAL; |
@@ -1321,7 +1324,7 @@ struct se_wwn *tcm_loop_make_scsi_hba( | |||
1321 | return ERR_PTR(-EINVAL); | 1324 | return ERR_PTR(-EINVAL); |
1322 | 1325 | ||
1323 | check_len: | 1326 | check_len: |
1324 | if (strlen(name) > TL_WWN_ADDR_LEN) { | 1327 | if (strlen(name) >= TL_WWN_ADDR_LEN) { |
1325 | printk(KERN_ERR "Emulated NAA %s Address: %s, exceeds" | 1328 | printk(KERN_ERR "Emulated NAA %s Address: %s, exceeds" |
1326 | " max: %d\n", name, tcm_loop_dump_proto_id(tl_hba), | 1329 | " max: %d\n", name, tcm_loop_dump_proto_id(tl_hba), |
1327 | TL_WWN_ADDR_LEN); | 1330 | TL_WWN_ADDR_LEN); |
diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c index ee6fad979b50..25c1f49a7d8b 100644 --- a/drivers/target/target_core_configfs.c +++ b/drivers/target/target_core_configfs.c | |||
@@ -304,7 +304,7 @@ struct target_fabric_configfs *target_fabric_configfs_init( | |||
304 | printk(KERN_ERR "Unable to locate passed fabric name\n"); | 304 | printk(KERN_ERR "Unable to locate passed fabric name\n"); |
305 | return NULL; | 305 | return NULL; |
306 | } | 306 | } |
307 | if (strlen(name) > TARGET_FABRIC_NAME_SIZE) { | 307 | if (strlen(name) >= TARGET_FABRIC_NAME_SIZE) { |
308 | printk(KERN_ERR "Passed name: %s exceeds TARGET_FABRIC" | 308 | printk(KERN_ERR "Passed name: %s exceeds TARGET_FABRIC" |
309 | "_NAME_SIZE\n", name); | 309 | "_NAME_SIZE\n", name); |
310 | return NULL; | 310 | return NULL; |
@@ -312,7 +312,7 @@ struct target_fabric_configfs *target_fabric_configfs_init( | |||
312 | 312 | ||
313 | tf = kzalloc(sizeof(struct target_fabric_configfs), GFP_KERNEL); | 313 | tf = kzalloc(sizeof(struct target_fabric_configfs), GFP_KERNEL); |
314 | if (!(tf)) | 314 | if (!(tf)) |
315 | return ERR_PTR(-ENOMEM); | 315 | return NULL; |
316 | 316 | ||
317 | INIT_LIST_HEAD(&tf->tf_list); | 317 | INIT_LIST_HEAD(&tf->tf_list); |
318 | atomic_set(&tf->tf_access_cnt, 0); | 318 | atomic_set(&tf->tf_access_cnt, 0); |
@@ -851,7 +851,7 @@ static ssize_t target_core_dev_wwn_store_attr_vpd_unit_serial( | |||
851 | return -EOPNOTSUPP; | 851 | return -EOPNOTSUPP; |
852 | } | 852 | } |
853 | 853 | ||
854 | if ((strlen(page) + 1) > INQUIRY_VPD_SERIAL_LEN) { | 854 | if (strlen(page) >= INQUIRY_VPD_SERIAL_LEN) { |
855 | printk(KERN_ERR "Emulated VPD Unit Serial exceeds" | 855 | printk(KERN_ERR "Emulated VPD Unit Serial exceeds" |
856 | " INQUIRY_VPD_SERIAL_LEN: %d\n", INQUIRY_VPD_SERIAL_LEN); | 856 | " INQUIRY_VPD_SERIAL_LEN: %d\n", INQUIRY_VPD_SERIAL_LEN); |
857 | return -EOVERFLOW; | 857 | return -EOVERFLOW; |
@@ -917,7 +917,7 @@ static ssize_t target_core_dev_wwn_show_attr_vpd_protocol_identifier( | |||
917 | 917 | ||
918 | transport_dump_vpd_proto_id(vpd, buf, VPD_TMP_BUF_SIZE); | 918 | transport_dump_vpd_proto_id(vpd, buf, VPD_TMP_BUF_SIZE); |
919 | 919 | ||
920 | if ((len + strlen(buf) > PAGE_SIZE)) | 920 | if ((len + strlen(buf) >= PAGE_SIZE)) |
921 | break; | 921 | break; |
922 | 922 | ||
923 | len += sprintf(page+len, "%s", buf); | 923 | len += sprintf(page+len, "%s", buf); |
@@ -962,19 +962,19 @@ static ssize_t target_core_dev_wwn_show_attr_##_name( \ | |||
962 | \ | 962 | \ |
963 | memset(buf, 0, VPD_TMP_BUF_SIZE); \ | 963 | memset(buf, 0, VPD_TMP_BUF_SIZE); \ |
964 | transport_dump_vpd_assoc(vpd, buf, VPD_TMP_BUF_SIZE); \ | 964 | transport_dump_vpd_assoc(vpd, buf, VPD_TMP_BUF_SIZE); \ |
965 | if ((len + strlen(buf) > PAGE_SIZE)) \ | 965 | if ((len + strlen(buf) >= PAGE_SIZE)) \ |
966 | break; \ | 966 | break; \ |
967 | len += sprintf(page+len, "%s", buf); \ | 967 | len += sprintf(page+len, "%s", buf); \ |
968 | \ | 968 | \ |
969 | memset(buf, 0, VPD_TMP_BUF_SIZE); \ | 969 | memset(buf, 0, VPD_TMP_BUF_SIZE); \ |
970 | transport_dump_vpd_ident_type(vpd, buf, VPD_TMP_BUF_SIZE); \ | 970 | transport_dump_vpd_ident_type(vpd, buf, VPD_TMP_BUF_SIZE); \ |
971 | if ((len + strlen(buf) > PAGE_SIZE)) \ | 971 | if ((len + strlen(buf) >= PAGE_SIZE)) \ |
972 | break; \ | 972 | break; \ |
973 | len += sprintf(page+len, "%s", buf); \ | 973 | len += sprintf(page+len, "%s", buf); \ |
974 | \ | 974 | \ |
975 | memset(buf, 0, VPD_TMP_BUF_SIZE); \ | 975 | memset(buf, 0, VPD_TMP_BUF_SIZE); \ |
976 | transport_dump_vpd_ident(vpd, buf, VPD_TMP_BUF_SIZE); \ | 976 | transport_dump_vpd_ident(vpd, buf, VPD_TMP_BUF_SIZE); \ |
977 | if ((len + strlen(buf) > PAGE_SIZE)) \ | 977 | if ((len + strlen(buf) >= PAGE_SIZE)) \ |
978 | break; \ | 978 | break; \ |
979 | len += sprintf(page+len, "%s", buf); \ | 979 | len += sprintf(page+len, "%s", buf); \ |
980 | } \ | 980 | } \ |
@@ -1299,7 +1299,7 @@ static ssize_t target_core_dev_pr_show_attr_res_pr_registered_i_pts( | |||
1299 | &i_buf[0] : "", pr_reg->pr_res_key, | 1299 | &i_buf[0] : "", pr_reg->pr_res_key, |
1300 | pr_reg->pr_res_generation); | 1300 | pr_reg->pr_res_generation); |
1301 | 1301 | ||
1302 | if ((len + strlen(buf) > PAGE_SIZE)) | 1302 | if ((len + strlen(buf) >= PAGE_SIZE)) |
1303 | break; | 1303 | break; |
1304 | 1304 | ||
1305 | len += sprintf(page+len, "%s", buf); | 1305 | len += sprintf(page+len, "%s", buf); |
@@ -1496,7 +1496,7 @@ static ssize_t target_core_dev_pr_store_attr_res_aptpl_metadata( | |||
1496 | ret = -ENOMEM; | 1496 | ret = -ENOMEM; |
1497 | goto out; | 1497 | goto out; |
1498 | } | 1498 | } |
1499 | if (strlen(i_port) > PR_APTPL_MAX_IPORT_LEN) { | 1499 | if (strlen(i_port) >= PR_APTPL_MAX_IPORT_LEN) { |
1500 | printk(KERN_ERR "APTPL metadata initiator_node=" | 1500 | printk(KERN_ERR "APTPL metadata initiator_node=" |
1501 | " exceeds PR_APTPL_MAX_IPORT_LEN: %d\n", | 1501 | " exceeds PR_APTPL_MAX_IPORT_LEN: %d\n", |
1502 | PR_APTPL_MAX_IPORT_LEN); | 1502 | PR_APTPL_MAX_IPORT_LEN); |
@@ -1510,7 +1510,7 @@ static ssize_t target_core_dev_pr_store_attr_res_aptpl_metadata( | |||
1510 | ret = -ENOMEM; | 1510 | ret = -ENOMEM; |
1511 | goto out; | 1511 | goto out; |
1512 | } | 1512 | } |
1513 | if (strlen(isid) > PR_REG_ISID_LEN) { | 1513 | if (strlen(isid) >= PR_REG_ISID_LEN) { |
1514 | printk(KERN_ERR "APTPL metadata initiator_isid" | 1514 | printk(KERN_ERR "APTPL metadata initiator_isid" |
1515 | "= exceeds PR_REG_ISID_LEN: %d\n", | 1515 | "= exceeds PR_REG_ISID_LEN: %d\n", |
1516 | PR_REG_ISID_LEN); | 1516 | PR_REG_ISID_LEN); |
@@ -1571,7 +1571,7 @@ static ssize_t target_core_dev_pr_store_attr_res_aptpl_metadata( | |||
1571 | ret = -ENOMEM; | 1571 | ret = -ENOMEM; |
1572 | goto out; | 1572 | goto out; |
1573 | } | 1573 | } |
1574 | if (strlen(t_port) > PR_APTPL_MAX_TPORT_LEN) { | 1574 | if (strlen(t_port) >= PR_APTPL_MAX_TPORT_LEN) { |
1575 | printk(KERN_ERR "APTPL metadata target_node=" | 1575 | printk(KERN_ERR "APTPL metadata target_node=" |
1576 | " exceeds PR_APTPL_MAX_TPORT_LEN: %d\n", | 1576 | " exceeds PR_APTPL_MAX_TPORT_LEN: %d\n", |
1577 | PR_APTPL_MAX_TPORT_LEN); | 1577 | PR_APTPL_MAX_TPORT_LEN); |
@@ -3052,7 +3052,7 @@ static struct config_group *target_core_call_addhbatotarget( | |||
3052 | int ret; | 3052 | int ret; |
3053 | 3053 | ||
3054 | memset(buf, 0, TARGET_CORE_NAME_MAX_LEN); | 3054 | memset(buf, 0, TARGET_CORE_NAME_MAX_LEN); |
3055 | if (strlen(name) > TARGET_CORE_NAME_MAX_LEN) { | 3055 | if (strlen(name) >= TARGET_CORE_NAME_MAX_LEN) { |
3056 | printk(KERN_ERR "Passed *name strlen(): %d exceeds" | 3056 | printk(KERN_ERR "Passed *name strlen(): %d exceeds" |
3057 | " TARGET_CORE_NAME_MAX_LEN: %d\n", (int)strlen(name), | 3057 | " TARGET_CORE_NAME_MAX_LEN: %d\n", (int)strlen(name), |
3058 | TARGET_CORE_NAME_MAX_LEN); | 3058 | TARGET_CORE_NAME_MAX_LEN); |
diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index 8407f9ca2b31..ba698ea62bb2 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c | |||
@@ -192,7 +192,7 @@ int transport_get_lun_for_tmr( | |||
192 | &SE_NODE_ACL(se_sess)->device_list[unpacked_lun]; | 192 | &SE_NODE_ACL(se_sess)->device_list[unpacked_lun]; |
193 | if (deve->lun_flags & TRANSPORT_LUNFLAGS_INITIATOR_ACCESS) { | 193 | if (deve->lun_flags & TRANSPORT_LUNFLAGS_INITIATOR_ACCESS) { |
194 | se_lun = se_cmd->se_lun = se_tmr->tmr_lun = deve->se_lun; | 194 | se_lun = se_cmd->se_lun = se_tmr->tmr_lun = deve->se_lun; |
195 | dev = se_tmr->tmr_dev = se_lun->lun_se_dev; | 195 | dev = se_lun->lun_se_dev; |
196 | se_cmd->pr_res_key = deve->pr_res_key; | 196 | se_cmd->pr_res_key = deve->pr_res_key; |
197 | se_cmd->orig_fe_lun = unpacked_lun; | 197 | se_cmd->orig_fe_lun = unpacked_lun; |
198 | se_cmd->se_orig_obj_ptr = SE_LUN(se_cmd)->lun_se_dev; | 198 | se_cmd->se_orig_obj_ptr = SE_LUN(se_cmd)->lun_se_dev; |
@@ -216,6 +216,7 @@ int transport_get_lun_for_tmr( | |||
216 | se_cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION; | 216 | se_cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION; |
217 | return -1; | 217 | return -1; |
218 | } | 218 | } |
219 | se_tmr->tmr_dev = dev; | ||
219 | 220 | ||
220 | spin_lock(&dev->se_tmr_lock); | 221 | spin_lock(&dev->se_tmr_lock); |
221 | list_add_tail(&se_tmr->tmr_list, &dev->dev_tmr_list); | 222 | list_add_tail(&se_tmr->tmr_list, &dev->dev_tmr_list); |
@@ -1430,7 +1431,7 @@ struct se_lun_acl *core_dev_init_initiator_node_lun_acl( | |||
1430 | struct se_lun_acl *lacl; | 1431 | struct se_lun_acl *lacl; |
1431 | struct se_node_acl *nacl; | 1432 | struct se_node_acl *nacl; |
1432 | 1433 | ||
1433 | if (strlen(initiatorname) > TRANSPORT_IQN_LEN) { | 1434 | if (strlen(initiatorname) >= TRANSPORT_IQN_LEN) { |
1434 | printk(KERN_ERR "%s InitiatorName exceeds maximum size.\n", | 1435 | printk(KERN_ERR "%s InitiatorName exceeds maximum size.\n", |
1435 | TPG_TFO(tpg)->get_fabric_name()); | 1436 | TPG_TFO(tpg)->get_fabric_name()); |
1436 | *ret = -EOVERFLOW; | 1437 | *ret = -EOVERFLOW; |
diff --git a/drivers/target/target_core_pr.c b/drivers/target/target_core_pr.c index a79f518ca6e2..b662db3a320b 100644 --- a/drivers/target/target_core_pr.c +++ b/drivers/target/target_core_pr.c | |||
@@ -1916,7 +1916,7 @@ static int __core_scsi3_update_aptpl_buf( | |||
1916 | pr_reg->pr_res_mapped_lun); | 1916 | pr_reg->pr_res_mapped_lun); |
1917 | } | 1917 | } |
1918 | 1918 | ||
1919 | if ((len + strlen(tmp) > pr_aptpl_buf_len)) { | 1919 | if ((len + strlen(tmp) >= pr_aptpl_buf_len)) { |
1920 | printk(KERN_ERR "Unable to update renaming" | 1920 | printk(KERN_ERR "Unable to update renaming" |
1921 | " APTPL metadata\n"); | 1921 | " APTPL metadata\n"); |
1922 | spin_unlock(&T10_RES(su_dev)->registration_lock); | 1922 | spin_unlock(&T10_RES(su_dev)->registration_lock); |
@@ -1934,7 +1934,7 @@ static int __core_scsi3_update_aptpl_buf( | |||
1934 | TPG_TFO(tpg)->tpg_get_tag(tpg), | 1934 | TPG_TFO(tpg)->tpg_get_tag(tpg), |
1935 | lun->lun_sep->sep_rtpi, lun->unpacked_lun, reg_count); | 1935 | lun->lun_sep->sep_rtpi, lun->unpacked_lun, reg_count); |
1936 | 1936 | ||
1937 | if ((len + strlen(tmp) > pr_aptpl_buf_len)) { | 1937 | if ((len + strlen(tmp) >= pr_aptpl_buf_len)) { |
1938 | printk(KERN_ERR "Unable to update renaming" | 1938 | printk(KERN_ERR "Unable to update renaming" |
1939 | " APTPL metadata\n"); | 1939 | " APTPL metadata\n"); |
1940 | spin_unlock(&T10_RES(su_dev)->registration_lock); | 1940 | spin_unlock(&T10_RES(su_dev)->registration_lock); |
@@ -1986,7 +1986,7 @@ static int __core_scsi3_write_aptpl_to_file( | |||
1986 | memset(iov, 0, sizeof(struct iovec)); | 1986 | memset(iov, 0, sizeof(struct iovec)); |
1987 | memset(path, 0, 512); | 1987 | memset(path, 0, 512); |
1988 | 1988 | ||
1989 | if (strlen(&wwn->unit_serial[0]) > 512) { | 1989 | if (strlen(&wwn->unit_serial[0]) >= 512) { |
1990 | printk(KERN_ERR "WWN value for struct se_device does not fit" | 1990 | printk(KERN_ERR "WWN value for struct se_device does not fit" |
1991 | " into path buffer\n"); | 1991 | " into path buffer\n"); |
1992 | return -1; | 1992 | return -1; |
diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c index 59b8b9c5ad72..179063d81cdd 100644 --- a/drivers/target/target_core_tmr.c +++ b/drivers/target/target_core_tmr.c | |||
@@ -75,10 +75,16 @@ void core_tmr_release_req( | |||
75 | { | 75 | { |
76 | struct se_device *dev = tmr->tmr_dev; | 76 | struct se_device *dev = tmr->tmr_dev; |
77 | 77 | ||
78 | if (!dev) { | ||
79 | kmem_cache_free(se_tmr_req_cache, tmr); | ||
80 | return; | ||
81 | } | ||
82 | |||
78 | spin_lock(&dev->se_tmr_lock); | 83 | spin_lock(&dev->se_tmr_lock); |
79 | list_del(&tmr->tmr_list); | 84 | list_del(&tmr->tmr_list); |
80 | kmem_cache_free(se_tmr_req_cache, tmr); | ||
81 | spin_unlock(&dev->se_tmr_lock); | 85 | spin_unlock(&dev->se_tmr_lock); |
86 | |||
87 | kmem_cache_free(se_tmr_req_cache, tmr); | ||
82 | } | 88 | } |
83 | 89 | ||
84 | static void core_tmr_handle_tas_abort( | 90 | static void core_tmr_handle_tas_abort( |
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 4dafeb8b5638..4b9b7169bdd9 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c | |||
@@ -536,13 +536,13 @@ EXPORT_SYMBOL(transport_register_session); | |||
536 | void transport_deregister_session_configfs(struct se_session *se_sess) | 536 | void transport_deregister_session_configfs(struct se_session *se_sess) |
537 | { | 537 | { |
538 | struct se_node_acl *se_nacl; | 538 | struct se_node_acl *se_nacl; |
539 | 539 | unsigned long flags; | |
540 | /* | 540 | /* |
541 | * Used by struct se_node_acl's under ConfigFS to locate active struct se_session | 541 | * Used by struct se_node_acl's under ConfigFS to locate active struct se_session |
542 | */ | 542 | */ |
543 | se_nacl = se_sess->se_node_acl; | 543 | se_nacl = se_sess->se_node_acl; |
544 | if ((se_nacl)) { | 544 | if ((se_nacl)) { |
545 | spin_lock_irq(&se_nacl->nacl_sess_lock); | 545 | spin_lock_irqsave(&se_nacl->nacl_sess_lock, flags); |
546 | list_del(&se_sess->sess_acl_list); | 546 | list_del(&se_sess->sess_acl_list); |
547 | /* | 547 | /* |
548 | * If the session list is empty, then clear the pointer. | 548 | * If the session list is empty, then clear the pointer. |
@@ -556,7 +556,7 @@ void transport_deregister_session_configfs(struct se_session *se_sess) | |||
556 | se_nacl->acl_sess_list.prev, | 556 | se_nacl->acl_sess_list.prev, |
557 | struct se_session, sess_acl_list); | 557 | struct se_session, sess_acl_list); |
558 | } | 558 | } |
559 | spin_unlock_irq(&se_nacl->nacl_sess_lock); | 559 | spin_unlock_irqrestore(&se_nacl->nacl_sess_lock, flags); |
560 | } | 560 | } |
561 | } | 561 | } |
562 | EXPORT_SYMBOL(transport_deregister_session_configfs); | 562 | EXPORT_SYMBOL(transport_deregister_session_configfs); |
diff --git a/drivers/target/tcm_fc/tcm_fc.h b/drivers/target/tcm_fc/tcm_fc.h index defff32b7880..7b82f1b7fef8 100644 --- a/drivers/target/tcm_fc/tcm_fc.h +++ b/drivers/target/tcm_fc/tcm_fc.h | |||
@@ -144,7 +144,7 @@ enum ft_cmd_state { | |||
144 | */ | 144 | */ |
145 | struct ft_cmd { | 145 | struct ft_cmd { |
146 | enum ft_cmd_state state; | 146 | enum ft_cmd_state state; |
147 | u16 lun; /* LUN from request */ | 147 | u32 lun; /* LUN from request */ |
148 | struct ft_sess *sess; /* session held for cmd */ | 148 | struct ft_sess *sess; /* session held for cmd */ |
149 | struct fc_seq *seq; /* sequence in exchange mgr */ | 149 | struct fc_seq *seq; /* sequence in exchange mgr */ |
150 | struct se_cmd se_cmd; /* Local TCM I/O descriptor */ | 150 | struct se_cmd se_cmd; /* Local TCM I/O descriptor */ |
diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c index c056a1132ae1..b2a106729d49 100644 --- a/drivers/target/tcm_fc/tfc_cmd.c +++ b/drivers/target/tcm_fc/tfc_cmd.c | |||
@@ -94,29 +94,6 @@ void ft_dump_cmd(struct ft_cmd *cmd, const char *caller) | |||
94 | 16, 4, cmd->cdb, MAX_COMMAND_SIZE, 0); | 94 | 16, 4, cmd->cdb, MAX_COMMAND_SIZE, 0); |
95 | } | 95 | } |
96 | 96 | ||
97 | /* | ||
98 | * Get LUN from CDB. | ||
99 | */ | ||
100 | static int ft_get_lun_for_cmd(struct ft_cmd *cmd, u8 *lunp) | ||
101 | { | ||
102 | u64 lun; | ||
103 | |||
104 | lun = lunp[1]; | ||
105 | switch (lunp[0] >> 6) { | ||
106 | case 0: | ||
107 | break; | ||
108 | case 1: | ||
109 | lun |= (lunp[0] & 0x3f) << 8; | ||
110 | break; | ||
111 | default: | ||
112 | return -1; | ||
113 | } | ||
114 | if (lun >= TRANSPORT_MAX_LUNS_PER_TPG) | ||
115 | return -1; | ||
116 | cmd->lun = lun; | ||
117 | return transport_get_lun_for_cmd(&cmd->se_cmd, NULL, lun); | ||
118 | } | ||
119 | |||
120 | static void ft_queue_cmd(struct ft_sess *sess, struct ft_cmd *cmd) | 97 | static void ft_queue_cmd(struct ft_sess *sess, struct ft_cmd *cmd) |
121 | { | 98 | { |
122 | struct se_queue_obj *qobj; | 99 | struct se_queue_obj *qobj; |
@@ -418,6 +395,7 @@ static void ft_send_tm(struct ft_cmd *cmd) | |||
418 | { | 395 | { |
419 | struct se_tmr_req *tmr; | 396 | struct se_tmr_req *tmr; |
420 | struct fcp_cmnd *fcp; | 397 | struct fcp_cmnd *fcp; |
398 | struct ft_sess *sess; | ||
421 | u8 tm_func; | 399 | u8 tm_func; |
422 | 400 | ||
423 | fcp = fc_frame_payload_get(cmd->req_frame, sizeof(*fcp)); | 401 | fcp = fc_frame_payload_get(cmd->req_frame, sizeof(*fcp)); |
@@ -425,13 +403,6 @@ static void ft_send_tm(struct ft_cmd *cmd) | |||
425 | switch (fcp->fc_tm_flags) { | 403 | switch (fcp->fc_tm_flags) { |
426 | case FCP_TMF_LUN_RESET: | 404 | case FCP_TMF_LUN_RESET: |
427 | tm_func = TMR_LUN_RESET; | 405 | tm_func = TMR_LUN_RESET; |
428 | if (ft_get_lun_for_cmd(cmd, fcp->fc_lun) < 0) { | ||
429 | ft_dump_cmd(cmd, __func__); | ||
430 | transport_send_check_condition_and_sense(&cmd->se_cmd, | ||
431 | cmd->se_cmd.scsi_sense_reason, 0); | ||
432 | ft_sess_put(cmd->sess); | ||
433 | return; | ||
434 | } | ||
435 | break; | 406 | break; |
436 | case FCP_TMF_TGT_RESET: | 407 | case FCP_TMF_TGT_RESET: |
437 | tm_func = TMR_TARGET_WARM_RESET; | 408 | tm_func = TMR_TARGET_WARM_RESET; |
@@ -463,6 +434,36 @@ static void ft_send_tm(struct ft_cmd *cmd) | |||
463 | return; | 434 | return; |
464 | } | 435 | } |
465 | cmd->se_cmd.se_tmr_req = tmr; | 436 | cmd->se_cmd.se_tmr_req = tmr; |
437 | |||
438 | switch (fcp->fc_tm_flags) { | ||
439 | case FCP_TMF_LUN_RESET: | ||
440 | cmd->lun = scsilun_to_int((struct scsi_lun *)fcp->fc_lun); | ||
441 | if (transport_get_lun_for_tmr(&cmd->se_cmd, cmd->lun) < 0) { | ||
442 | /* | ||
443 | * Make sure to clean up newly allocated TMR request | ||
444 | * since "unable to handle TMR request because failed | ||
445 | * to get to LUN" | ||
446 | */ | ||
447 | FT_TM_DBG("Failed to get LUN for TMR func %d, " | ||
448 | "se_cmd %p, unpacked_lun %d\n", | ||
449 | tm_func, &cmd->se_cmd, cmd->lun); | ||
450 | ft_dump_cmd(cmd, __func__); | ||
451 | sess = cmd->sess; | ||
452 | transport_send_check_condition_and_sense(&cmd->se_cmd, | ||
453 | cmd->se_cmd.scsi_sense_reason, 0); | ||
454 | transport_generic_free_cmd(&cmd->se_cmd, 0, 1, 0); | ||
455 | ft_sess_put(sess); | ||
456 | return; | ||
457 | } | ||
458 | break; | ||
459 | case FCP_TMF_TGT_RESET: | ||
460 | case FCP_TMF_CLR_TASK_SET: | ||
461 | case FCP_TMF_ABT_TASK_SET: | ||
462 | case FCP_TMF_CLR_ACA: | ||
463 | break; | ||
464 | default: | ||
465 | return; | ||
466 | } | ||
466 | transport_generic_handle_tmr(&cmd->se_cmd); | 467 | transport_generic_handle_tmr(&cmd->se_cmd); |
467 | } | 468 | } |
468 | 469 | ||
@@ -635,7 +636,8 @@ static void ft_send_cmd(struct ft_cmd *cmd) | |||
635 | 636 | ||
636 | fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd); | 637 | fc_seq_exch(cmd->seq)->lp->tt.seq_set_resp(cmd->seq, ft_recv_seq, cmd); |
637 | 638 | ||
638 | ret = ft_get_lun_for_cmd(cmd, fcp->fc_lun); | 639 | cmd->lun = scsilun_to_int((struct scsi_lun *)fcp->fc_lun); |
640 | ret = transport_get_lun_for_cmd(&cmd->se_cmd, NULL, cmd->lun); | ||
639 | if (ret < 0) { | 641 | if (ret < 0) { |
640 | ft_dump_cmd(cmd, __func__); | 642 | ft_dump_cmd(cmd, __func__); |
641 | transport_send_check_condition_and_sense(&cmd->se_cmd, | 643 | transport_send_check_condition_and_sense(&cmd->se_cmd, |
diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c index 4c3c0efbe13f..8c4a24077d9d 100644 --- a/drivers/target/tcm_fc/tfc_io.c +++ b/drivers/target/tcm_fc/tfc_io.c | |||
@@ -203,7 +203,7 @@ int ft_queue_data_in(struct se_cmd *se_cmd) | |||
203 | /* XXX For now, initiator will retry */ | 203 | /* XXX For now, initiator will retry */ |
204 | if (printk_ratelimit()) | 204 | if (printk_ratelimit()) |
205 | printk(KERN_ERR "%s: Failed to send frame %p, " | 205 | printk(KERN_ERR "%s: Failed to send frame %p, " |
206 | "xid <0x%x>, remaining <0x%x>, " | 206 | "xid <0x%x>, remaining %zu, " |
207 | "lso_max <0x%x>\n", | 207 | "lso_max <0x%x>\n", |
208 | __func__, fp, ep->xid, | 208 | __func__, fp, ep->xid, |
209 | remaining, lport->lso_max); | 209 | remaining, lport->lso_max); |
diff --git a/drivers/target/tcm_fc/tfc_sess.c b/drivers/target/tcm_fc/tfc_sess.c index a3bd57f2ea32..7491e21cc6ae 100644 --- a/drivers/target/tcm_fc/tfc_sess.c +++ b/drivers/target/tcm_fc/tfc_sess.c | |||
@@ -229,7 +229,7 @@ static struct ft_sess *ft_sess_create(struct ft_tport *tport, u32 port_id, | |||
229 | return NULL; | 229 | return NULL; |
230 | 230 | ||
231 | sess->se_sess = transport_init_session(); | 231 | sess->se_sess = transport_init_session(); |
232 | if (!sess->se_sess) { | 232 | if (IS_ERR(sess->se_sess)) { |
233 | kfree(sess); | 233 | kfree(sess); |
234 | return NULL; | 234 | return NULL; |
235 | } | 235 | } |
@@ -332,7 +332,7 @@ void ft_sess_close(struct se_session *se_sess) | |||
332 | lport = sess->tport->lport; | 332 | lport = sess->tport->lport; |
333 | port_id = sess->port_id; | 333 | port_id = sess->port_id; |
334 | if (port_id == -1) { | 334 | if (port_id == -1) { |
335 | mutex_lock(&ft_lport_lock); | 335 | mutex_unlock(&ft_lport_lock); |
336 | return; | 336 | return; |
337 | } | 337 | } |
338 | FT_SESS_DBG("port_id %x\n", port_id); | 338 | FT_SESS_DBG("port_id %x\n", port_id); |
diff --git a/drivers/tty/serial/mrst_max3110.c b/drivers/tty/serial/mrst_max3110.c index 1bd28450ca40..a764bf99743b 100644 --- a/drivers/tty/serial/mrst_max3110.c +++ b/drivers/tty/serial/mrst_max3110.c | |||
@@ -421,7 +421,6 @@ static int max3110_main_thread(void *_max) | |||
421 | int ret = 0; | 421 | int ret = 0; |
422 | struct circ_buf *xmit = &max->con_xmit; | 422 | struct circ_buf *xmit = &max->con_xmit; |
423 | 423 | ||
424 | init_waitqueue_head(wq); | ||
425 | pr_info(PR_FMT "start main thread\n"); | 424 | pr_info(PR_FMT "start main thread\n"); |
426 | 425 | ||
427 | do { | 426 | do { |
@@ -823,7 +822,7 @@ static int __devinit serial_m3110_probe(struct spi_device *spi) | |||
823 | res = RC_TAG; | 822 | res = RC_TAG; |
824 | ret = max3110_write_then_read(max, (u8 *)&res, (u8 *)&res, 2, 0); | 823 | ret = max3110_write_then_read(max, (u8 *)&res, (u8 *)&res, 2, 0); |
825 | if (ret < 0 || res == 0 || res == 0xffff) { | 824 | if (ret < 0 || res == 0 || res == 0xffff) { |
826 | printk(KERN_ERR "MAX3111 deemed not present (conf reg %04x)", | 825 | dev_dbg(&spi->dev, "MAX3111 deemed not present (conf reg %04x)", |
827 | res); | 826 | res); |
828 | ret = -ENODEV; | 827 | ret = -ENODEV; |
829 | goto err_get_page; | 828 | goto err_get_page; |
@@ -838,6 +837,8 @@ static int __devinit serial_m3110_probe(struct spi_device *spi) | |||
838 | max->con_xmit.head = 0; | 837 | max->con_xmit.head = 0; |
839 | max->con_xmit.tail = 0; | 838 | max->con_xmit.tail = 0; |
840 | 839 | ||
840 | init_waitqueue_head(&max->wq); | ||
841 | |||
841 | max->main_thread = kthread_run(max3110_main_thread, | 842 | max->main_thread = kthread_run(max3110_main_thread, |
842 | max, "max3110_main"); | 843 | max, "max3110_main"); |
843 | if (IS_ERR(max->main_thread)) { | 844 | if (IS_ERR(max->main_thread)) { |
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 300628795fdb..f30ac05dbda7 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -19,7 +19,6 @@ | |||
19 | #ifndef __BTRFS_CTREE__ | 19 | #ifndef __BTRFS_CTREE__ |
20 | #define __BTRFS_CTREE__ | 20 | #define __BTRFS_CTREE__ |
21 | 21 | ||
22 | #include <linux/version.h> | ||
23 | #include <linux/mm.h> | 22 | #include <linux/mm.h> |
24 | #include <linux/highmem.h> | 23 | #include <linux/highmem.h> |
25 | #include <linux/fs.h> | 24 | #include <linux/fs.h> |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 12cf72dd0c42..c761935eab8c 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -2750,21 +2750,21 @@ void cifs_setup_cifs_sb(struct smb_vol *pvolume_info, | |||
2750 | 2750 | ||
2751 | /* | 2751 | /* |
2752 | * When the server supports very large writes via POSIX extensions, we can | 2752 | * When the server supports very large writes via POSIX extensions, we can |
2753 | * allow up to 2^24 - PAGE_CACHE_SIZE. | 2753 | * allow up to 2^24-1, minus the size of a WRITE_AND_X header, not including |
2754 | * the RFC1001 length. | ||
2754 | * | 2755 | * |
2755 | * Note that this might make for "interesting" allocation problems during | 2756 | * Note that this might make for "interesting" allocation problems during |
2756 | * writeback however (as we have to allocate an array of pointers for the | 2757 | * writeback however as we have to allocate an array of pointers for the |
2757 | * pages). A 16M write means ~32kb page array with PAGE_CACHE_SIZE == 4096. | 2758 | * pages. A 16M write means ~32kb page array with PAGE_CACHE_SIZE == 4096. |
2758 | */ | 2759 | */ |
2759 | #define CIFS_MAX_WSIZE ((1<<24) - PAGE_CACHE_SIZE) | 2760 | #define CIFS_MAX_WSIZE ((1<<24) - 1 - sizeof(WRITE_REQ) + 4) |
2760 | 2761 | ||
2761 | /* | 2762 | /* |
2762 | * When the server doesn't allow large posix writes, default to a wsize of | 2763 | * When the server doesn't allow large posix writes, only allow a wsize of |
2763 | * 128k - PAGE_CACHE_SIZE -- one page less than the largest frame size | 2764 | * 128k minus the size of the WRITE_AND_X header. That allows for a write up |
2764 | * described in RFC1001. This allows space for the header without going over | 2765 | * to the maximum size described by RFC1002. |
2765 | * that by default. | ||
2766 | */ | 2766 | */ |
2767 | #define CIFS_MAX_RFC1001_WSIZE (128 * 1024 - PAGE_CACHE_SIZE) | 2767 | #define CIFS_MAX_RFC1002_WSIZE (128 * 1024 - sizeof(WRITE_REQ) + 4) |
2768 | 2768 | ||
2769 | /* | 2769 | /* |
2770 | * The default wsize is 1M. find_get_pages seems to return a maximum of 256 | 2770 | * The default wsize is 1M. find_get_pages seems to return a maximum of 256 |
@@ -2783,11 +2783,18 @@ cifs_negotiate_wsize(struct cifs_tcon *tcon, struct smb_vol *pvolume_info) | |||
2783 | 2783 | ||
2784 | /* can server support 24-bit write sizes? (via UNIX extensions) */ | 2784 | /* can server support 24-bit write sizes? (via UNIX extensions) */ |
2785 | if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) | 2785 | if (!tcon->unix_ext || !(unix_cap & CIFS_UNIX_LARGE_WRITE_CAP)) |
2786 | wsize = min_t(unsigned int, wsize, CIFS_MAX_RFC1001_WSIZE); | 2786 | wsize = min_t(unsigned int, wsize, CIFS_MAX_RFC1002_WSIZE); |
2787 | 2787 | ||
2788 | /* no CAP_LARGE_WRITE_X? Limit it to 16 bits */ | 2788 | /* |
2789 | if (!(server->capabilities & CAP_LARGE_WRITE_X)) | 2789 | * no CAP_LARGE_WRITE_X or is signing enabled without CAP_UNIX set? |
2790 | wsize = min_t(unsigned int, wsize, USHRT_MAX); | 2790 | * Limit it to max buffer offered by the server, minus the size of the |
2791 | * WRITEX header, not including the 4 byte RFC1001 length. | ||
2792 | */ | ||
2793 | if (!(server->capabilities & CAP_LARGE_WRITE_X) || | ||
2794 | (!(server->capabilities & CAP_UNIX) && | ||
2795 | (server->sec_mode & (SECMODE_SIGN_ENABLED|SECMODE_SIGN_REQUIRED)))) | ||
2796 | wsize = min_t(unsigned int, wsize, | ||
2797 | server->maxBuf - sizeof(WRITE_REQ) + 4); | ||
2791 | 2798 | ||
2792 | /* hard limit of CIFS_MAX_WSIZE */ | 2799 | /* hard limit of CIFS_MAX_WSIZE */ |
2793 | wsize = min_t(unsigned int, wsize, CIFS_MAX_WSIZE); | 2800 | wsize = min_t(unsigned int, wsize, CIFS_MAX_WSIZE); |
@@ -2937,7 +2944,11 @@ int cifs_setup_volume_info(struct smb_vol **pvolume_info, char *mount_data, | |||
2937 | 2944 | ||
2938 | if (volume_info->nullauth) { | 2945 | if (volume_info->nullauth) { |
2939 | cFYI(1, "null user"); | 2946 | cFYI(1, "null user"); |
2940 | volume_info->username = ""; | 2947 | volume_info->username = kzalloc(1, GFP_KERNEL); |
2948 | if (volume_info->username == NULL) { | ||
2949 | rc = -ENOMEM; | ||
2950 | goto out; | ||
2951 | } | ||
2941 | } else if (volume_info->username) { | 2952 | } else if (volume_info->username) { |
2942 | /* BB fixme parse for domain name here */ | 2953 | /* BB fixme parse for domain name here */ |
2943 | cFYI(1, "Username: %s", volume_info->username); | 2954 | cFYI(1, "Username: %s", volume_info->username); |
diff --git a/fs/omfs/file.c b/fs/omfs/file.c index d738a7e493dd..2c6d95257a4d 100644 --- a/fs/omfs/file.c +++ b/fs/omfs/file.c | |||
@@ -4,7 +4,6 @@ | |||
4 | * Released under GPL v2. | 4 | * Released under GPL v2. |
5 | */ | 5 | */ |
6 | 6 | ||
7 | #include <linux/version.h> | ||
8 | #include <linux/module.h> | 7 | #include <linux/module.h> |
9 | #include <linux/fs.h> | 8 | #include <linux/fs.h> |
10 | #include <linux/buffer_head.h> | 9 | #include <linux/buffer_head.h> |
diff --git a/init/calibrate.c b/init/calibrate.c index 2568d22a304e..aae2f40fea4c 100644 --- a/init/calibrate.c +++ b/init/calibrate.c | |||
@@ -245,30 +245,32 @@ recalibrate: | |||
245 | 245 | ||
246 | void __cpuinit calibrate_delay(void) | 246 | void __cpuinit calibrate_delay(void) |
247 | { | 247 | { |
248 | unsigned long lpj; | ||
248 | static bool printed; | 249 | static bool printed; |
249 | 250 | ||
250 | if (preset_lpj) { | 251 | if (preset_lpj) { |
251 | loops_per_jiffy = preset_lpj; | 252 | lpj = preset_lpj; |
252 | if (!printed) | 253 | if (!printed) |
253 | pr_info("Calibrating delay loop (skipped) " | 254 | pr_info("Calibrating delay loop (skipped) " |
254 | "preset value.. "); | 255 | "preset value.. "); |
255 | } else if ((!printed) && lpj_fine) { | 256 | } else if ((!printed) && lpj_fine) { |
256 | loops_per_jiffy = lpj_fine; | 257 | lpj = lpj_fine; |
257 | pr_info("Calibrating delay loop (skipped), " | 258 | pr_info("Calibrating delay loop (skipped), " |
258 | "value calculated using timer frequency.. "); | 259 | "value calculated using timer frequency.. "); |
259 | } else if ((loops_per_jiffy = calibrate_delay_direct()) != 0) { | 260 | } else if ((lpj = calibrate_delay_direct()) != 0) { |
260 | if (!printed) | 261 | if (!printed) |
261 | pr_info("Calibrating delay using timer " | 262 | pr_info("Calibrating delay using timer " |
262 | "specific routine.. "); | 263 | "specific routine.. "); |
263 | } else { | 264 | } else { |
264 | if (!printed) | 265 | if (!printed) |
265 | pr_info("Calibrating delay loop... "); | 266 | pr_info("Calibrating delay loop... "); |
266 | loops_per_jiffy = calibrate_delay_converge(); | 267 | lpj = calibrate_delay_converge(); |
267 | } | 268 | } |
268 | if (!printed) | 269 | if (!printed) |
269 | pr_cont("%lu.%02lu BogoMIPS (lpj=%lu)\n", | 270 | pr_cont("%lu.%02lu BogoMIPS (lpj=%lu)\n", |
270 | loops_per_jiffy/(500000/HZ), | 271 | lpj/(500000/HZ), |
271 | (loops_per_jiffy/(5000/HZ)) % 100, loops_per_jiffy); | 272 | (lpj/(5000/HZ)) % 100, lpj); |
272 | 273 | ||
274 | loops_per_jiffy = lpj; | ||
273 | printed = true; | 275 | printed = true; |
274 | } | 276 | } |