Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 73129
b: refs/heads/master
c: 221d468
h: refs/heads/master
i:
  73127: fc177d7
v: v3
  • Loading branch information
Linus Torvalds committed Nov 5, 2007
1 parent a589f4a commit 960d452
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 35 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: 633872b980f55f40a5e7de374f26970e41e2137b
refs/heads/master: 221d46841b931d0e6b11e6251e482f2afe3974dd
6 changes: 4 additions & 2 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2549,7 +2549,7 @@ S: Supported

MISCELLANEOUS MCA-SUPPORT
P: James Bottomley
M: jejb@steeleye.com
M: James.Bottomley@HansenPartnership.com
L: linux-kernel@vger.kernel.org
S: Maintained

Expand Down Expand Up @@ -3301,9 +3301,11 @@ S: Maintained

SCSI SUBSYSTEM
P: James E.J. Bottomley
M: James.Bottomley@SteelEye.com
M: James.Bottomley@HansenPartnership.com
L: linux-scsi@vger.kernel.org
T: git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
T: git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
T: git kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-pending-2.6.git
S: Maintained

SCSI TAPE DRIVER
Expand Down
8 changes: 5 additions & 3 deletions trunk/arch/x86/boot/pmjump.S
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,19 @@
* void protected_mode_jump(u32 entrypoint, u32 bootparams);
*/
protected_mode_jump:
xorl %ebx, %ebx # Flag to indicate this is a boot
movl %edx, %esi # Pointer to boot_params table
movl %eax, 2f # Patch ljmpl instruction
jmp 1f # Short jump to flush instruction q.

1:
movw $__BOOT_DS, %cx
xorl %ebx, %ebx # Per the 32-bit boot protocol
xorl %ebp, %ebp # Per the 32-bit boot protocol
xorl %edi, %edi # Per the 32-bit boot protocol

movl %cr0, %edx
orb $1, %dl # Protected mode (PE) bit
movl %edx, %cr0
jmp 1f # Short jump to serialize on 386/486
1:

movw %cx, %ds
movw %cx, %es
Expand Down
19 changes: 14 additions & 5 deletions trunk/drivers/scsi/ibmvscsi/ibmvscsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,7 @@ static int ibmvscsi_send_srp_event(struct srp_event_struct *evt_struct,
unsigned long timeout)
{
u64 *crq_as_u64 = (u64 *) &evt_struct->crq;
int request_status;
int request_status = 0;
int rc;

/* If we have exhausted our request limit, just fail this request,
Expand All @@ -574,6 +574,13 @@ static int ibmvscsi_send_srp_event(struct srp_event_struct *evt_struct,
if (request_status < -1)
goto send_error;
/* Otherwise, we may have run out of requests. */
/* If request limit was 0 when we started the adapter is in the
* process of performing a login with the server adapter, or
* we may have run out of requests.
*/
else if (request_status == -1 &&
evt_struct->iu.srp.login_req.opcode != SRP_LOGIN_REQ)
goto send_busy;
/* Abort and reset calls should make it through.
* Nothing except abort and reset should use the last two
* slots unless we had two or less to begin with.
Expand Down Expand Up @@ -633,7 +640,8 @@ static int ibmvscsi_send_srp_event(struct srp_event_struct *evt_struct,
unmap_cmd_data(&evt_struct->iu.srp.cmd, evt_struct, hostdata->dev);

free_event_struct(&hostdata->pool, evt_struct);
atomic_inc(&hostdata->request_limit);
if (request_status != -1)
atomic_inc(&hostdata->request_limit);
return SCSI_MLQUEUE_HOST_BUSY;

send_error:
Expand Down Expand Up @@ -927,10 +935,11 @@ static int send_srp_login(struct ibmvscsi_host_data *hostdata)
login->req_buf_fmt = SRP_BUF_FORMAT_DIRECT | SRP_BUF_FORMAT_INDIRECT;

spin_lock_irqsave(hostdata->host->host_lock, flags);
/* Start out with a request limit of 1, since this is negotiated in
* the login request we are just sending
/* Start out with a request limit of 0, since this is negotiated in
* the login request we are just sending and login requests always
* get sent by the driver regardless of request_limit.
*/
atomic_set(&hostdata->request_limit, 1);
atomic_set(&hostdata->request_limit, 0);

rc = ibmvscsi_send_srp_event(evt_struct, hostdata, init_timeout * 2);
spin_unlock_irqrestore(hostdata->host->host_lock, flags);
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/scsi/lpfc/lpfc_scsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -682,6 +682,7 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
IOCB_t *iocb_cmd = &lpfc_cmd->cur_iocbq.iocb;
struct lpfc_iocbq *piocbq = &(lpfc_cmd->cur_iocbq);
int datadir = scsi_cmnd->sc_data_direction;
char tag[2];

lpfc_cmd->fcp_rsp->rspSnsLen = 0;
/* clear task management bits */
Expand All @@ -692,8 +693,8 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,

memcpy(&fcp_cmnd->fcpCdb[0], scsi_cmnd->cmnd, 16);

if (scsi_cmnd->device->tagged_supported) {
switch (scsi_cmnd->tag) {
if (scsi_populate_tag_msg(scsi_cmnd, tag)) {
switch (tag[0]) {
case HEAD_OF_QUEUE_TAG:
fcp_cmnd->fcpCntl1 = HEAD_OF_Q;
break;
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/scsi/osst.c
Original file line number Diff line number Diff line change
Expand Up @@ -593,10 +593,11 @@ static int osst_verify_frame(struct osst_tape * STp, int frame_seq_number, int q
if (aux->frame_type != OS_FRAME_TYPE_DATA &&
aux->frame_type != OS_FRAME_TYPE_EOD &&
aux->frame_type != OS_FRAME_TYPE_MARKER) {
if (!quiet)
if (!quiet) {
#if DEBUG
printk(OSST_DEB_MSG "%s:D: Skipping frame, frame type %x\n", name, aux->frame_type);
#endif
}
goto err_out;
}
if (aux->frame_type == OS_FRAME_TYPE_EOD &&
Expand All @@ -606,11 +607,12 @@ static int osst_verify_frame(struct osst_tape * STp, int frame_seq_number, int q
goto err_out;
}
if (frame_seq_number != -1 && ntohl(aux->frame_seq_num) != frame_seq_number) {
if (!quiet)
if (!quiet) {
#if DEBUG
printk(OSST_DEB_MSG "%s:D: Skipping frame, sequence number %u (expected %d)\n",
name, ntohl(aux->frame_seq_num), frame_seq_number);
#endif
}
goto err_out;
}
if (aux->frame_type == OS_FRAME_TYPE_MARKER) {
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/asm-powerpc/commproc.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ extern uint m8xx_cpm_hostalloc(uint size);
extern int m8xx_cpm_hostfree(uint start);
extern void m8xx_cpm_hostdump(void);

extern void cpm_load_patch(volatile immap_t *immr);
extern void cpm_load_patch(cpm8xx_t *cp);

/* Buffer descriptors used by many of the CPM protocols.
*/
Expand Down
20 changes: 1 addition & 19 deletions trunk/mm/slub.c
Original file line number Diff line number Diff line change
Expand Up @@ -1511,26 +1511,8 @@ static void *__slab_alloc(struct kmem_cache *s,

if (new) {
c = get_cpu_slab(s, smp_processor_id());
if (c->page) {
/*
* Someone else populated the cpu_slab while we
* enabled interrupts, or we have gotten scheduled
* on another cpu. The page may not be on the
* requested node even if __GFP_THISNODE was
* specified. So we need to recheck.
*/
if (node_match(c, node)) {
/*
* Current cpuslab is acceptable and we
* want the current one since its cache hot
*/
discard_slab(s, new);
slab_lock(c->page);
goto load_freelist;
}
/* New slab does not fit our expectations */
if (c->page)
flush_slab(s, c);
}
slab_lock(new);
SetSlabFrozen(new);
c->page = new;
Expand Down

0 comments on commit 960d452

Please sign in to comment.