projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SCSI] tgt: fix rdma transfer bugs
[powerpc.git]
/
drivers
/
scsi
/
scsi_transport_iscsi.c
diff --git
a/drivers/scsi/scsi_transport_iscsi.c
b/drivers/scsi/scsi_transport_iscsi.c
index
9c22f13
..
ff05c84
100644
(file)
--- a/
drivers/scsi/scsi_transport_iscsi.c
+++ b/
drivers/scsi/scsi_transport_iscsi.c
@@
-49,7
+49,7
@@
struct iscsi_internal {
struct class_device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1];
};
struct class_device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1];
};
-static
int iscsi_session_nr;
/* sysfs session id for next new session */
+static
atomic_t iscsi_session_nr;
/* sysfs session id for next new session */
/*
* list of registered transports and lock that must
/*
* list of registered transports and lock that must
@@
-300,7
+300,7
@@
int iscsi_add_session(struct iscsi_cls_session *session, unsigned int target_id)
int err;
ihost = shost->shost_data;
int err;
ihost = shost->shost_data;
- session->sid =
iscsi_session_nr++
;
+ session->sid =
atomic_add_return(1, &iscsi_session_nr)
;
session->target_id = target_id;
snprintf(session->dev.bus_id, BUS_ID_SIZE, "session%u",
session->target_id = target_id;
snprintf(session->dev.bus_id, BUS_ID_SIZE, "session%u",
@@
-1416,9
+1416,11
@@
static __init int iscsi_transport_init(void)
{
int err;
{
int err;
- printk(KERN_INFO "Loading iSCSI transport class v%s.",
+ printk(KERN_INFO "Loading iSCSI transport class v%s.
\n
",
ISCSI_TRANSPORT_VERSION);
ISCSI_TRANSPORT_VERSION);
+ atomic_set(&iscsi_session_nr, 0);
+
err = class_register(&iscsi_transport_class);
if (err)
return err;
err = class_register(&iscsi_transport_class);
if (err)
return err;